我需要在表中搜索名为DESCRIPTION的列,该列与确切的单词ICE,Ice或ice相匹配。在关键字之前或之后可能还有其他单词,但它不应该像Price,Mice,Nice。我想像普通LIKE
一样接受Oracle正则表达式的帮助,我得到像Price,Mice等字符串,如上所述。我试过像(DESCRIPTION LIKE '%ICE%' or DESCRIPTION LIKE '%Ice%')
这样的东西。请帮忙。
非常感谢。
答案 0 :(得分:1)
尝试正则表达式,如果是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')
答案 1 :(得分:1)
SELECT *
FROM your_table
WHERE UPPER( description ) = 'ICE'
OR UPPER( description ) LIKE 'ICE %'
OR UPPER( description ) LIKE '% ICE'
OR UPPER( description ) LIKE '% ICE %';
或者
SELECT *
FROM your_table
WHERE REGEXP_LIKE( description, '(^|[^a-z])ice($|[^a-z])', 'i' )