• 締切済み

SQL文で素早くNULLを除外する方法

Select文の結果から、 どこかにNULLを含む場合には除外したいのですが、 表示項目が多い為、「WHERE A IS NOT NULL」 というようにWHERE文を羅列すると、 項目の文だけ記述しなければならず、 結果表示に時間がかかってしまいます。 どなたか効率良くNULLを含む場合は除外する方法を ご存知の方は、ご教授宜しくお願い致します。

みんなの回答

noname#140971
noname#140971
回答No.1

<tab1> ID___kname___address1___address2___dob 1____田中_____東京都______渋谷区_____1960/01/01 2____上村_____東京都______渋谷区_____1970/01/01 3____橘川_____null___________null_________null 4____田中_____東京都______null_________null 5____橘川_____東京都______渋谷区____null (1) SELECT * FROM tab1 WHERE (Address1+Address2) is not null and dob is not null; (2) SELECT * FROM tab1 WHERE Address1 is not null and Address2 is not null and dob is not null; (3) SELECT * FROM tab1 WHERE isnull=0; 検索->表示を1000回繰り返した場合、1=4.85秒、2=5.00秒、3=5.10秒。 なお、bit列を設けた場合、比較する列が1個増えると(3)が(1)(2)との差を0.1秒縮めるようです。 ですから、比較する列数では、空行が存在するか否かの列を追加した方がスッキリする気がします。 もちろん、目的と運用次第でしょうが・・・。

すると、全ての回答が全文表示されます。

関連するQ&A