为什么我无法在SQL Server 2008中的可空DATE列中插入NULL?

时间:2012-06-01 16:08:36

标签: sql-server sql-server-2008

我正在使用SQL Server 2008r2。

我有一个表格,其列定义为:

TheDate date null

当我尝试在此列中插入NULL值时,收到错误消息:“操作数类型碰撞:int与日期不兼容”。

如果我将数据类型更改为datetime,它可以正常工作。

为什么这不适用于日期数据类型?

感谢。

编辑:Lamak是对的:

我的insert语句使用select语句作为源,并且源表是使用“select into”临时表语句创建的,显然,由于表是动态定义的,因此列被赋予“int”插入null时的数据类型。

1 个答案:

答案 0 :(得分:9)

您不只是插入NULL,而是插入NULL数据类型INT。请改为插入:CAST(NULL AS DATE)