sql2005 若字段定义的类型为datetime,插入为''(空),那么会默认值为1900-01-01 00:00:00.000
解决方法查询的时候过滤下cast(nullif('','') as datetime)
代码如下:
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 行受影响)
*/