类似oracle regexp\u

des4xlb0  于 2021-08-09  发布在  Java
关注(0)|答案(1)|浏览(257)

有人能帮我用oracle查询来搜索附加了任何非字母字符或空格的文本吗,例如:-印度-印度,印度-印度,印度
我编写的搜索印度的查询也检索到了带有“indiaa”的行。

SELECT *
FROM TABLE_NAME
WHERE (REGEXP_LIKE (COLUMN_NAME,'INDIA[,_)("-]') 
     OR REGEXP_LIKE (COLUMN_NAME,'[,_)("-]INDIA')
     OR REGEXP_LIKE (COLUMN_NAME,'[,_)("-]INDIA[,_)("-]')
     OR  REGEXP_LIKE (COLUMN_NAME,'\sINDIA\s')
     OR  REGEXP_LIKE (COLUMN_NAME,'\sINDIA') 
     OR REGEXP_LIKE (COLUMN_NAME, 'INDIA\s') -- this line is causing problem
     OR REGEXP_LIKE (COLUMN_NAME, '^INDIA$'))

谢谢您!

q35jwt9p

q35jwt9p1#

我建议:

regexp_like(column_name, '(^|\W)INDIA(\W|$)')

这个搜索 'INDIA' ,被非单词字符包围( \W ),或在字符串的开头或结尾。

相关问题