简体   繁体   English

Oracle REGEXP_LIKE

[英]Oracle REGEXP_LIKE

Could someone please help me with the Oracle query to search text appended with any non-alphabet character Or Space Eg:- INDIA- INDIA, INDIA -INDIA,INDIA INDIA有人可以帮助我使用 Oracle 查询来搜索附加任何非字母字符或空格的文本,例如:- INDIA- INDIA, INDIA -INDIA,INDIA INDIA

The query which I wrote to search INDIA retrieved rows with "INDIAA" as well.我为搜索印度而编写的查询也检索到带有“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$'))

Thank You!谢谢你!

I would suggest:我会建议:

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

This searches for 'INDIA' , surrounded by non-word characters ( \W ), or at the beginning or end of the string.这将搜索'INDIA' ,被非单词字符 ( \W ) 包围,或者在字符串的开头或结尾。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM