我正在使用SQL Server 2008r2。
我有一个表格,其列定义为:
TheDate date null
当我尝试在此列中插入NULL值时,收到错误消息:“操作数类型碰撞:int与日期不兼容”。
如果我将数据类型更改为datetime,它可以正常工作。
为什么这不适用于日期数据类型?
感谢。
编辑:Lamak是对的:我的insert语句使用select语句作为源,并且源表是使用“select into”临时表语句创建的,显然,由于表是动态定义的,因此列被赋予“int”插入null时的数据类型。
答案 0 :(得分:9)
您不只是插入NULL
,而是插入NULL
数据类型INT
。请改为插入:CAST(NULL AS DATE)