oracle SQL语句中如何避免LIKE

问题描述 投票:0回答:1

我有下表

身份证 公司
1. 892,8392,489,923
2. 232,9238,9283
3. 682,7292

我可以使用以下SQL语句得到结果

选择* 来自公司_详细信息 WHERE company LIKE '%892%' -- 公司是参数

选择* 来自公司_详细信息 WHERE company LIKE '%682%' -- 公司是参数

但是;我想避免在 Oracle SQL 语句中使用 LIKE 运算符。在这种情况下,当参数值可以是公司列中的任何内容时,如何避免 LIKE 运算符

sql oracle
1个回答
0
投票

您可以使用 REGEXP_LIKE 函数代替 LIKE 运算符。 REGEXP_LIKE 允许使用正则表达式。

SELECT * FROM company_details WHERE REGEXP_LIKE(company, '(^|,)' || :company || '(,|$)');

:公司 = 892 或其他

© www.soinside.com 2019 - 2024. All rights reserved.