mysql:9594
From: Kenji Irie <Kenji Irie <kenji@xxxxxxxxxx>>
Date: Fri, 11 Jun 2004 07:13:02 +0900
Subject: [mysql 09594] Re: 更新する行が見つからない。
入江です
通常SQLでNULLは何もセットされていないという特殊な扱いになるはずです。
つまり
NULL ≠ ''
であり
NULL ≠ 0
NULL ≠ '0000/00/00 00:00:00'
です。
MySQLはそのまま素直に実装していると思うのですが…
あとIsNull関数ですがTransact-SQLでは1番目の引数に列名を指定しNULL値であった
場合2番目の引数の値に置き換えるという機能になります。
>select * from testtbl where isnull(dt,0)=0;
つまりこの例ではdtの値が、NULLと0の時に条件に当てはまると言う事になります。
MySQLのISNULLはNULL値であった時に1をそうでなければ0を返します。
Transact-SQLのIsNullと同じ機能はMySQLではIFNULLで、引数も同等となります。
あとNull値かどうかの比較は
where dt is null
↑ですね。
--
Kenji Irie mailto:kenji@xxxxxxxxxx
9587 2004-06-10 16:54 [bon <bon@xxxxxxxxxx>] 更新する行が見つからない。 -> 9594 2004-06-11 07:13 ┗[Kenji Irie <kenji@xx] 9595 2004-06-11 10:12 ┗[bon <bon@xxxxxxxxxx>]