web-dev-qa-db-ja.com

DB2でINとLIKEを使用する方法

SELECT * FROM abc WHERE column1 IN (a1,b1,c1)

この選択クエリでLIKEを使用したいと思います。以下のクエリのように、INを使用してLIKEステートメントを作成するにはどうすればよいですか。

SELECT * FROM abc WHERE column1 LIKE IN (a%,b%,c%)
11
user1580770

likeinを組み合わせることはできません。個別の比較として記述します。

select column1
from abc
where column1 like 'a%' or column1 like 'b%' or column1 like 'c%'
11
Guffa

できません。次のように書きます:

column1 LIKE 'a%' OR column1 LIKE 'b%' OR column1 LIKE 'c%'
6
Ariel

他の人々が言うように、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;
2
Justin Swanhart

本当にa、b、cで始まる文字列を検索したい場合は、次のオプションを選択できます。

SELECT * 
FROM abc
WHERE LEFT(column1, 1) IN ('a', 'b', 'c')

あなたのケースは実際にはもっと複雑だと思いますが、多分あなたはあなたのニーズにこのスニペットを適応させることができます...

0