0
我遇到了一个错误,我很难搞清楚。可能导致什么“将char数据类型转换为日期时间数据类型导致超出范围”?
我有2个表,我想将数据从一个复制到其他(简化视图):
MyTable
-------
ID varchar(11) do not allow nulls
Field01 numeric(6,0) allow nulls
MyTable_Temp
------------
ID varchar(11) do not allow nulls
Field01 numeric(6,0) allow nulls
我的查询看起来是这样的:
DELETE FROM dbo.MyTable
INSERT INTO dbo.MyTable([ID],[Field01])
SELECT ID, Field01 FROM [dbo].MyTable_Temp WITH (NOLOCK)
然而,当我运行我的查询它会引发此错误:
Msg 242,级别16,状态3,过程TRG_MyTable,行6 char数据类型转换为日期时间数据类型导致out-o f范围日期时间值。
如果我注释掉查询的Field01部分,它运行良好。数字字段如何引发日期时间错误?
愚蠢的问题:你确定MyTable.Field01不是DATETIME? – n8wrl 2009-07-08 20:27:36
是的,我很确定。现在我正在按照下面的答案中的建议查看TRG_MyTable,但在我的数据库中看不到任何触发器.... – dtc 2009-07-08 20:38:33