2005.11.04

Datetimeに空白が入る?

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
となりました。

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

photo
nakamura