SELECT * FROM abc WHERE column1 IN (a1,b1,c1)
我想在这个选择查询中使用LIKE;如何用IN编写LIKE语句,类似于下面的查询:
SELECT * FROM abc WHERE column1 LIKE IN (a%,b%,c%)
答案 0 :(得分:8)
您无法将like
与in
合并。将其写为单独的比较:
select column1
from abc
where column1 like 'a%' or column1 like 'b%' or column1 like 'c%'
答案 1 :(得分:6)
你做不到。把它写成:
column1 LIKE 'a%' OR column1 LIKE 'b%' OR column1 LIKE 'c%'
答案 2 :(得分:2)
正如其他人所说,您可以使用OR条件列表来指定条件。
您还可以在from子句中使用临时表或子查询。以下是from子句中子查询的示例:
select column1
from abc
, table(
(select 'a%' as term from SYSIBM.SYSDUMMY1)
union all
(select 'b%' from SYSIBM.SYSDUMMY1)
union all
(select 'c%' from SYSIBM.SYSDUMMY1)
) search_list
where abc.column1 like search_list.term;
答案 3 :(得分:0)
如果您确实要查找以a,b或c开头的字符串,则可以选择:
SELECT *
FROM abc
WHERE LEFT(column1, 1) IN ('a', 'b', 'c')
我认为您的情况实际上更复杂,但是也许您可以根据需要修改此代码段...