SQLServerでDatetime型の項目に 0 をセットすると、
”1900/01/01 00:00:00.000”
という値がセットされることは、結構ご存知の方も多いでしょう。
が、これが、空白でも同じ値がセットされるということを今日知りました。
信じられないという方は、下記のコードをクエリアナライザで試してみてください。
Declare @d1 Datetime
Select @d1 = ' '
Print Convert(Varchar,@d1 ,121)
結果、こんな↓値が表示されたはずです。
1900-01-01 00:00:00.000
VBなどで開発を行っていると、Date型の変数に空白を送ろうものなら必ず型の不一致でエラーとなります。
だからといって、他の言語やデータベースでも同じとは限らないのですよね。
ちなみに、VBAのDate型変数に 0 を入れた場合は
1899/12/30 00:00:00
となりました。