SQL Server - CONVERT varchar到datetime。 YYYY-MM-DD 10:30:36.157格式

时间:2012-08-06 17:11:48

标签: sql sql-server

尝试在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已经是日期时间格式。

有人可以给我建议吗?谢谢!

1 个答案:

答案 0 :(得分:2)

尝试使用以下修改后的语句。我认为问题在于它试图将WHERE子句中的字符串隐式转换为DateTime,但它们不是一种可以的格式。

Select * From table 
WHERE 
CONVERT(datetime,ResponseDate)  BETWEEN '6/30/2012' AND '8/1/2012'