Welcome

首页 / 数据库 / MySQL / 探讨:sql插入空,默认1900-01-01 00:00:00.000的解决方法详解

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 行受影响)

*/