sql - Oracle正则表达式-匹配精确的单词

标签 sql regex oracle

我需要在表中名为“DESCRIPTION”的列中搜索与“ICE”、“Ice”或“ice”一词精确匹配的列。关键字前后可能有其他单词,但不应该是“Price”、“Mice”、“Nice”。我想利用 Oracle 正则表达式的帮助,就像正常的 LIKE 一样,我得到了像前面提到的 Price、Mice 等字符串。我尝试了类似这样的(DESCRIPTION LIKE '%ICE%'或DESCRIPTION LIKE '%Ice%')。请帮忙。

非常感谢。

最佳答案

尝试正则表达式,对于 Oracle,它是regexp_like:

https://docs.oracle.com/cd/B12037_01/server.101/b10759/conditions018.htm

select *
  from MyTable
 where regexp_like(DESCRIPTION, '^(.*\s+)?ice(\s+.*)?$', 'i') 

关于sql - Oracle正则表达式-匹配精确的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43536804/

相关文章:

regex - 在 Bash 中引用正则表达式

sql - 如何获取 dblink 引用的表的列名?

Oracle 插入如果不存在语句

sql - 如何为某些列保持不变的连续记录合并 Effective_dt 和 expire_dt 时间片?

php - 使用php将sql中的数据导出到excel

javascript - js比较两个字符串

php - preg_match : ensure the start and the end contains something

sql - 具有最大条件的 select 子句

mysql - 如果 first 为假,MySQL 是否运行所有 WHERE 条件

sql - 选择带有修剪行的计数