すでにコメントしたように、いくつかの条件を連結する方が簡単です。
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に列value
があること 。このソリューションを実装する場合は、同時実行性に注意し、conditionTableを次のようなものでフィルタリングする必要があります
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;