我有下表
身份证 | 公司 |
---|---|
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 运算符
您可以使用 REGEXP_LIKE 函数代替 LIKE 运算符。 REGEXP_LIKE 允许使用正则表达式。
SELECT * FROM company_details WHERE REGEXP_LIKE(company, '(^|,)' || :company || '(,|$)');
:公司 = 892 或其他