2009-07-08 60 views
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部分,它運行良好。數字字段如何引發日期時間錯誤?

+1

愚蠢的問題:你確定MyTable.Field01不是DATETIME? – n8wrl 2009-07-08 20:27:36

+0

是的,我很確定。現在我正在按照下面的答案中的建議查看TRG_MyTable,但在我的數據庫中看不到任何觸發器.... – dtc 2009-07-08 20:38:33

回答

1

它看起來像我在目標表上觸發了某種觸發器(TRG_MyTable是一個贈品)它可能會做一些事情,比如將時間戳記錄插入某個審計表中,並且感到困惑。

相關問題