如何在 Oracle 中对以逗号分隔的值使用 like 子句
How to use like clause for a value separated with comma in Oracle
在我的数据库中有一列,其中的值用逗号分隔 (firstname,lastname
)。
我正在尝试使用类似条件在 where 子句中搜索整个字段。
我试过这个:
SELECT fullname
from users
where ( upper( fullname ) like upper('abc, xyz'))
你看起来像这样吗-
它将检索以逗号 ','
分隔的字段值
select * from table_name where filedName LIKE %,%;
如果这不是您所发现的,请详细说明或解释您的问题。
如果您想在 firstname
和 lastname
上有单独的条件,您需要在 WHERE
子句中将它们分开
测试数据:
CREATE TABLE table_name (full_name VARCHAR(30));
INSERT INTO table_name VALUES('Jessica,Alba');
查询:
SELECT full_name FROM table_name
WHERE SUBSTR(full_name, 1, (INSTR(full_name, ',', 1) -1)) LIKE '%ss%'
AND SUBSTR(full_name, (INSTR(full_name, ',', 1)) +1) LIKE '%ba%';
我用过 regexp_like 而不是只喜欢,它对我有用。
在我的数据库中有一列,其中的值用逗号分隔 (firstname,lastname
)。
我正在尝试使用类似条件在 where 子句中搜索整个字段。
我试过这个:
SELECT fullname
from users
where ( upper( fullname ) like upper('abc, xyz'))
你看起来像这样吗- 它将检索以逗号 ','
分隔的字段值 select * from table_name where filedName LIKE %,%;
如果这不是您所发现的,请详细说明或解释您的问题。
如果您想在 firstname
和 lastname
上有单独的条件,您需要在 WHERE
子句中将它们分开
测试数据:
CREATE TABLE table_name (full_name VARCHAR(30));
INSERT INTO table_name VALUES('Jessica,Alba');
查询:
SELECT full_name FROM table_name
WHERE SUBSTR(full_name, 1, (INSTR(full_name, ',', 1) -1)) LIKE '%ss%'
AND SUBSTR(full_name, (INSTR(full_name, ',', 1)) +1) LIKE '%ba%';
我用过 regexp_like 而不是只喜欢,它对我有用。