2012-04-10 66 views
2

我有一個出生日期字段,導入了一些錯誤,我試圖糾正它們。我使用的查詢基於ID更新DATE數據類型#

UPDATE myTable 
SET DOB=2012-04-10 
WHERE id=123456 

而且我得到的錯誤

Msg 206, Level 16, Line 1 
Operand type clash: int is incompatible with date 

這似乎是合乎邏輯足夠給我,但不是到SQL Server,就如何解決這一問題的任何想法?

回答

2

你需要把一個單引號周圍的日期:

UPDATE myTable 
SET DOB='2012-04-10' 
WHERE id=123456 
+0

我試過這個,當我得到這個錯誤讀取: – wootscootinboogie 2012-04-10 13:52:06

+0

你得到什麼錯誤? – Taryn 2012-04-10 13:52:29

+0

從字符串中轉換日期和/或時間時轉換失敗。然而,DOB絕對是'日期'數據類型。 – wootscootinboogie 2012-04-10 13:52:54

1

試着把你的日期放在單引號中。 SQL需要引號劃定值開始的地方結束

UPDATE myTable 
SET DOB='2012-04-10' 
WHERE id=123456 
2

也許是這樣的:

UPDATE myTable 
SET DOB='2012-04-10' 
WHERE id=123456 
2

我想這是一個語法錯誤。試試這個

UPDATE myTable 
SET DOB='2012-04-10' 
WHERE id=123456 
+0

我試過了,但它給了我轉換數據和/或時間從字符串時的錯誤轉換失敗。但是,在設計視圖中打開表並檢查顯示DOB是日期數據類型。 – wootscootinboogie 2012-04-10 13:55:16

1

什麼樣的數據類型是DOB列?

嘗試

SET DOB = '2012/04/10' 

而且最好的時候,您的更新只是櫃面它粘在一個事務中。 Rollback拯救了我的屁股很多次。