MSSQL中转换Datetime-varchar的错误

时间:2018-05-11 13:30:58

标签: sql sql-server

这是我收到错误的查询:

Select Time from Flights where Time <= DATEADD(day,3,'14/05/2018 00:00:00') 
AND Time >= getdate()

错误说:

  

将varchar数据类型转换为日期时间数据类型会导致超出范围的值。

如果我在SQLExpress(management Studio)中的克隆数据库上运行查询,则不会发生此错误。任何的想法?感谢。

1 个答案:

答案 0 :(得分:1)

SQL Server喜欢这种格式(假设使用标准的拉丁语排序规则。我无法与其他较少使用的排序规则对话):

YYYY-MM-DD

此外,您的时间列是日期时间还是时间?这可能会导致另一个问题。

尝试此查询,看看它是否有效。

Select Time from Flights where Time <= DATEADD(day,3,'2018-05-14 00:00:00') 
AND Time >= getdate()