SELECT * FROM abc WHERE column1 IN (a1,b1,c1)
この選択クエリでLIKEを使用したいと思います。以下のクエリのように、INを使用してLIKEステートメントを作成するにはどうすればよいですか。
SELECT * FROM abc WHERE column1 LIKE IN (a%,b%,c%)
like
とin
を組み合わせることはできません。個別の比較として記述します。
select column1
from abc
where column1 like 'a%' or column1 like 'b%' or column1 like 'c%'
できません。次のように書きます:
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;
本当にa、b、cで始まる文字列を検索したい場合は、次のオプションを選択できます。
SELECT *
FROM abc
WHERE LEFT(column1, 1) IN ('a', 'b', 'c')
あなたのケースは実際にはもっと複雑だと思いますが、多分あなたはあなたのニーズにこのスニペットを適応させることができます...