有人能帮我用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$'))
谢谢您!
1条答案
按热度按时间q35jwt9p1#
我建议:
这个搜索
'INDIA'
,被非单词字符包围(\W
),或在字符串的开头或结尾。