2016-02-29 77 views
0

我正在使用SQL Server 2014,並且有幾個日期格式的列,我在應用過濾器時遇到了問題。我想選擇記錄和orderdate > '20141231'。當我嘗試通過標準窗格添加它時,它告訴我必須使用CONVERT函數,但我不明白爲什麼,因爲它們已經是日期格式,並且我正在過濾器中使用標準日期格式。在向SQL Server 2014查詢添加日期過濾器時遇到問題

我曾嘗試手動輸入下面的查詢:

WHERE CAST(OrderDate as date) > '20141231' 

WHERE CAST(OrderDate as date) > 20141231 

,但我得到一個不正確的語法附近「20141231」的消息時,「是否到位和''被排除時無法解析消息。

有關如何克服這一點的任何想法?我覺得這很簡單,不知道我的問題在哪裏。

謝謝!

+2

顯示大部分查詢並告訴您執行它的位置(SSMS /您的應用程序)。 –

回答

0

雖然將字符串轉換爲datetime,您需要提供風格作爲第三個參數來轉換功能,where子句會像下面要嘗試的日期格式 -

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

其他風格,可以發現在 - https://msdn.microsoft.com/en-in/library/ms187928.aspx