すでにコメントしたように、いくつかの条件を連結する方が簡単で良いです:
where departmentName like '%Medi%'
or departmentName like '%Ciga%'
or departmentName like '%Tabacc%';
もう 1 つの方法は、値 '%Medi%'、'%Ciga%'、'%Tabacc%' を conditionTable に挿入してから、次のクエリを実行することです。
select department.*
from department
cross join conditionTable
where department.departmentName like conditionTable.value;
department
ここでは、テーブルがあり、 conditionTable に column があると想定していますvalue
。このソリューションを実装する場合は、同時実行性に注意し、条件テーブルを次のようにフィルタリングする必要があります
select department.*
from department
inner join conditionTable on conditionTable.session = yourSessionId
where department.departmentName like conditionTable.value;
最後に、conditionTable を使用したくない場合に便利な 3 つ目の解決策は、文字列を生成し、次select <cond1> as value from dual union select <cond2> from dual...
のように動的クエリに配置することです。
select department.*
from department
cross join
(select '%Medi%' as value from dual
union
select '%Ciga%' from dual
union
select '%Tabacc%' from dual) conditionTable
where department.departmentName like conditionTable.value;