2016-04-29 148 views
-5

我正在清理一個數據庫,但我得到這個錯誤。我想刪除不到6個月的數據。這個SQL查詢有什麼問題

查詢:

Delete from dbo.Jobs 
where dtpDate <= '2016-04-27 15:23:00.000' 

錯誤:

Msg 242, Level 16, State 3, Line 1
The conversion of a varchar data type to a datetime data type resulted in an out-of-range value.

類型爲datetime

+0

什麼是'dtpDate'的類型? – demo

+0

http://dba.stackexchange.com/questions/86313/conversion-of-a-varchar-data-type-to-a-datetime-data-type-resulted-in-an-out-of檢查這個問題 – demo

+0

爲了讓我們正確地回答你的問題,我們需要知道dtpDate的格式,所以請做一個dtpDate類型的日期或兩個回聲,以便我們可以比較格式。 – Webeng

回答

0
DELETE FROM dbo.Jobs 
     WHERE dtpDate <= CAST('2016-04-27 15:23:00.000' AS DATETIME) 
0

嘗試增加強制轉換爲查詢。

CAST('2016-04-27 15:23:00.000' AS DATETIME) 
0

您的服務器可能具有與yyyy-mm-dd不兼容的日期格式設置。您可以嘗試使用獨立於ODBC語言環境的轉義序列來強制執行該格式,例如

delete from dbo.Jobs where dtpDate <= {ts'2016-04-27 15:23:00.000'} 

或ODBC轉換格式,例如,

delete from dbo.Jobs where dtpDate <= convert(datetime, '2016-04-27 15:23:00.000', 120)