尝试在sql server中将varchar转换为datetime时出现以下错误。
将varchar数据类型转换为日期时间数据类型会导致超出范围的值。
以下是ResponseDate列值:
2012-06-19 10:30:36.157
2012-06-19 10:30:36.157
2012-07-09 11:37:14.287
2012-06-21 10:15:06.733
2012-07-02 13:19:13.080
我正在尝试编写一个在7月份选择*的查询。
Select * From table WHERE CONVERT(datetime,ResponseDate) BETWEEN '20120631' AND '20120801'
我认为不存在任何问题,因为varchar已经是日期时间格式。
有人可以给我建议吗?谢谢!
答案 0 :(得分:2)
尝试使用以下修改后的语句。我认为问题在于它试图将WHERE子句中的字符串隐式转换为DateTime,但它们不是一种可以的格式。
Select * From table
WHERE
CONVERT(datetime,ResponseDate) BETWEEN '6/30/2012' AND '8/1/2012'