我正在清理数据库,但是我收到了这个错误。我要删除不到6个月的数据。
查询:
Delete from dbo.Jobs
where dtpDate <= '2016-04-27 15:23:00.000'
错误:
Msg 242,Level 16,State 3,Line 1
将varchar数据类型转换为日期时间数据类型会导致超出范围的值。
类型是日期时间
答案 0 :(得分:0)
DELETE FROM dbo.Jobs
WHERE dtpDate <= CAST('2016-04-27 15:23:00.000' AS DATETIME)
答案 1 :(得分:0)
尝试在查询中添加强制转换。
CAST( '2016-04-27 15:23:00.000' AS DATETIME)
答案 2 :(得分: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)