電子書籍の厳選無料作品が豊富!

現在Oracleを使用していますが、
将来他のDBに切り替える可能性もある、ということで、
移植性のあるSQLを書こうとしているのですが・・・

ある文字列フィールドの値がNULLか空文字列の場合、
という判定式で困っています。

普通のDBだと、
  field IS NULL OR field <> ''
と書くところですが、
Oracleの場合、空文字列=NULLなので、
上記の書き方をすると、field <> NULL という式が成り立たず、
常に偽になってしまいます。

移植性があり、且つ、パフォーマンス的にも問題のない、
なにかよい書き方ないでしょうか。。??

A 回答 (1件)

そもそも


>NULLか空文字列の場合、
なら
>field IS NULL OR field <> ''
field IS NULL OR field = ''
では?

この回答への補足

ごめんなさいm(__)m
NULLか空文字列の場合を除く判定をしたかったので、
正しくは
 field IS NOT NULL AND field <> ''
でした。

補足日時:2007/06/06 12:15
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!