SQL 服务器 - 使用 SQL 删除日期范围之间的行。日期转换失败
SQL Server - Deleting rows between a date range using SQL. Date conversion fails
DELETE FROM BIZ
WHERE [Orgnl_Cmpltn_Date]
BETWEEN '2014-02-31' AND '2014-04-01'
这是我写的DELETE
声明。出现一条错误消息:
Conversion failed when converting date and/or time from character string.
我知道我必须写出正确的日期格式,但我不确定那是怎么回事。
这个问题在其他地方没有得到回答,因为我看到的答案没有指定日期格式(在我要求的上下文中)
你写的是 2 月 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
我假设你使用 SQL 服务器,试试这个..
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'
告诉我你过得怎么样:-)
您可以使用以下代码:
DELETE from Tabel_Name WHERE Date BETWEEN CONVERT(datetime,'01/01/2001',103) and CONVERT(datetime,'31/12/2001',103)
DELETE FROM BIZ
WHERE [Orgnl_Cmpltn_Date]
BETWEEN '2014-02-31' AND '2014-04-01'
这是我写的DELETE
声明。出现一条错误消息:
Conversion failed when converting date and/or time from character string.
我知道我必须写出正确的日期格式,但我不确定那是怎么回事。
这个问题在其他地方没有得到回答,因为我看到的答案没有指定日期格式(在我要求的上下文中)
你写的是 2 月 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
我假设你使用 SQL 服务器,试试这个..
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'
告诉我你过得怎么样:-)
您可以使用以下代码:
DELETE from Tabel_Name WHERE Date BETWEEN CONVERT(datetime,'01/01/2001',103) and CONVERT(datetime,'31/12/2001',103)