検討:sql挿入空、デフォルト1900-01-01 00:00:00:00の解決方法詳細

531 ワード

sql 2005フィールドで定義されているタイプがdatetimeで、'(空)に挿入されると、デフォルト値は1900-01-01 00:00:00です。
解決方法照会時にキャストをフィルタします。
 
  
select cast('' as datetime)
    , cast(nullif('','') as datetime)
    , isnull(cast(nullif('','') as datetime),getdate())
/*
----------------------- ----------------------- -----------------------
1900-01-01 00:00:00.000 NULL                    2009-02-25 17:18:15.140

(1 )

*/