SELECT * FROM abc WHERE column1 IN (a1,b1,c1)
我想用這個select查詢使用LIKE;我怎麼能寫這樣的語句與,類似下面的查詢:如何在DB2中使用LI和IN?
SELECT * FROM abc WHERE column1 LIKE IN (a%,b%,c%)
SELECT * FROM abc WHERE column1 IN (a1,b1,c1)
我想用這個select查詢使用LIKE;我怎麼能寫這樣的語句與,類似下面的查詢:如何在DB2中使用LI和IN?
SELECT * FROM abc WHERE column1 LIKE IN (a%,b%,c%)
你不能。把它寫成:
column1 LIKE 'a%' OR column1 LIKE 'b%' OR column1 LIKE 'c%'
你不能in
結合like
。把它作爲單獨的比較:
select column1
from abc
where column1 like 'a%' or column1 like 'b%' or column1 like 'c%'
正如其他人說你可以使用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;
我不是DB2專家。 from子句中的這個子查詢不是ANSI語法。 – 2012-08-07 04:15:17
在DB2中它可能類似'... FROM abc,(SELECT'a%'AS term FROM SYSIBM.SYSDUMMY1 UNION ALL SELECT'b%'FROM SYSIBM.SYSDUMMY1 UNION ALL SELECT'c%'FROM SYSIBM.SYSDUMMY1)search_list在哪裏......用012 SYSIBM.SYSDUMMY1編輯的 – 2012-08-07 07:02:26
(我猜這相當於MySQL或Oracle中的FROM DUAL) – 2012-08-07 07:05:49