中です。
Oracle10です。おしえてください。
変数でSelectするWhereがかわるSQL書いてます。
select data
from table
where data like
case when :x is null then N'%'
else :x end escape '\'
こんなSQLですが、:xがnullの場合には検索条件からはずしたいため、
where case :x is null then 1=1 else data like :x escape '\'
としたいのです。どうもだめっぽいです。
何かいい方法はないでしょうか?
like '%'になっていればデメリットはないような気もしますが、いまいち確信は持てません。
このSQLどんなもんでしょ?
全部が対象ですね。 さっきの私の案ではパラメータがnullでnullデータの時に引っ張ってこれてませんでした。 where(data like :x or :x is null)は where (data like :x escape n'\' or :x is null)としても通っているので、いけそうな感じですね。