Oracle SQLで 空文字の判定
Postgre で使用していた SQL文を Oracle へ持ってきて動かなかったのでメモ
プログラムから SQL雛形に置換文字列を埋め込んで、それを実行させていたため事故の無いようデータが空の場合、スキップさせるため WHER節へ
WHERE ('$DATA$' <> '') AND ... みたいなのを組み込んでいた
($DATA$ には文字列が置換される)
これを Postgre から Oracle へ持ってきた所、常に false となってしまいデータが更新されない
('AAA' != '') や ('AAA' <> '') は、常にfalse が返る
Oracle で空文字を判定するには IS NULL や IS NOT NULL を使うらしい
WHERE ('$DATA$' IS NOT NULL) AND ...
コメント