いくつかの SQL に関する小さなヘルプが必要です。ケースで値を使用VARCHAR
して、WHERE 句で使用するロジックを決定していますが、このケース ステートメントの記述に問題があります。
where
(CASE WHEN @p_flag = 'ATA'
THEN (@p_start_ata IS NULL AND @p_end_ata IS NULL) OR (vso.poa_ata between @p_start_ata and @p_end_ata)
ELSE (@p_start_atd IS NULL AND @p_end_atd IS NULL) OR (vso.pol_atd between @p_start_atd and @p_end_atd)
)
93 行目 キーワード 'IS' 付近の構文が正しくありません。
おそらくマイナーなエラーですが、イライラします。たぶん、これを書くより良い方法はありますか?ありがとう!