在将日期过滤器添加到SQL Server 2014查询时遇到问题

时间:2016-02-29 19:02:17

标签: sql sql-server date where

我正在使用SQL Server 2014并且有一些日期格式的列,我在应用过滤器时遇到了问题。我想用和orderdate > '20141231'选择记录。当我尝试通过条件窗格添加它时,它告诉我必须使用CONVERT函数,但我不明白为什么因为这些已经是日期格式并且我在过滤器中使用标准日期格式。

我尝试在查询中手动输入以下内容:

WHERE CAST(OrderDate as date) > '20141231'

以及

WHERE CAST(OrderDate as date) > 20141231

但是当''到位时我在“20141231”消息附近收到的语法不正确,并且在排除'时无法解析消息。

有关如何克服这个问题的任何想法?我觉得这很简单,不确定我的问题在哪里。

谢谢!

1 个答案:

答案 0 :(得分:0)

在将字符串转换为日期时,您需要提供样式作为转换函数的第3个参数,对于您正在尝试的日期格式,where子句将如下所示:

WHERE OrderDate > Convert(datetime, '20141231', 112)

其他款式可在 - https://msdn.microsoft.com/en-in/library/ms187928.aspx

找到