DELETE FROM BIZ
WHERE [Orgnl_Cmpltn_Date]
BETWEEN '2014-02-31' AND '2014-04-01'
這是我寫的DELETE
聲明。有一個錯誤說:SQL Server - 使用SQL在日期範圍內刪除行。日期轉換失敗
轉換日期和/或時間從字符串轉換失敗。
我知道我必須寫出正確的日期格式,但我不確定那是怎麼回事。
這個問題還沒有在其他地方回答,因爲我看到沒有指定日期格式(在我要求的上下文中)
DELETE FROM BIZ
WHERE [Orgnl_Cmpltn_Date]
BETWEEN '2014-02-31' AND '2014-04-01'
這是我寫的DELETE
聲明。有一個錯誤說:SQL Server - 使用SQL在日期範圍內刪除行。日期轉換失敗
轉換日期和/或時間從字符串轉換失敗。
我知道我必須寫出正確的日期格式,但我不確定那是怎麼回事。
這個問題還沒有在其他地方回答,因爲我看到沒有指定日期格式(在我要求的上下文中)
你寫二月31日...也許答案.....那日期不存在。
DELETE FROM BIZ
WHERE [Orgnl_Cmpltn_Date]
BETWEEN '2014-02-28' AND '2014-04-01'
對於轉換日期的總體思路:
DELETE FROM BIZ
WHERE [Orgnl_Cmpltn_Date]
BETWEEN CONVERT(date,'2014.02.28',102) and CONVERT(date,'2014.04.01',102)
在這裏你可以找到的CONVERT
https://msdn.microsoft.com/en-us/library/ms187928.aspx
哦! THanks Galma88。你是一個genuis。該日期不存在。 – ObserveDBA
':) ehehehehehe – Galma88
這實際上工作。謝謝。爲了將來的緣故,我如何指定日期格式 – ObserveDBA
第三個參數值的完整列表,我假設你使用SQL Server,嘗試這..
DELETE FROM BIZ
WHERE CONVERT(DATE,[Orgnl_Cmpltn_Date])
BETWEEN CONVERT(DATE,'2014-02-28') AND CONVERT(DATE,'2014-04-01')
用這個代替
DELETE FROM BIZ
WHERE [Orgnl_Cmpltn_Date] >= '2014-02-28'
AND [Orgnl_Cmpltn_Date] <= '2014'04'01'
我不知道這是否重要,但2月只有28或29天。
幾件事情
1)有沒有這樣的日期在2月31日這可能是一個問題。
2)如果你把你的日期範圍按以下格式,你可以有更多的運氣:
BETWEEN '20140228' AND '20140401'
讓我知道你上車:-)
這是一個很好的日期文字格式爲mssql,但不適用於其他dbms, –
哪個RDBMS是這個呢?請添加一個標籤來指定您是使用'mysql','postgresql','sql-server','oracle'還是'db2' - 或者其他的東西。 –
[基於日期從表中刪除]的可能的重複(http://stackoverflow.com/questions/804193/delete-from-a-table-based-on-date) –
鑑於錯誤文本,我強烈懷疑這是[tag:sql-server],但是OP最好先確認一下。 –