sql - Oracle REGEXP_LIKE
问题描述
有人可以帮助我使用 Oracle 查询来搜索附加任何非字母字符或空格的文本,例如:- INDIA- INDIA, INDIA -INDIA ,INDIA INDIA
我为搜索印度而编写的查询也检索到带有“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$'))
谢谢你!
解决方案
我会建议:
regexp_like(column_name, '(^|\W)INDIA(\W|$)')
这将搜索'INDIA'
,由非单词字符 ( \W
) 包围,或者在字符串的开头或结尾。
推荐阅读
- windows - 无法在 PowerShell 工作流程中打印变量
- python - 如何在 u net 的预训练编码器中对它们进行零填充后进入跳过连接层?
- css - 如何在 Flex Column 中将第三列 div 作为一行移动到底部
- conda - Conda 4.10.3 和 Snakemake >5 "__conda_exe" 问题
- python-3.x - 在单独的模块中,Python getpass 在第二次尝试时工作
- python - 使用 VBA 模块运行 python 的问题
- javascript - 如何在单击行时使用 data-index 属性获取单个表行以获取其值
- sql - 如何使用 SparkSQL 获取地理空间点
- php - 如何通过外部请求使服务器端分页适用于数据表
- reactjs - 无法访问multer中的文件名