我試圖採取包含在varchar中的日期來比較它與where子句中的getdate()。該VARCHAR變量總是看起來是這樣的:SQL Server子字符串在哪裏caluse
最近看到:MM/DD/YY
一些樣本數據:
Last Seen: 07/12/16
Last Seen: 08/01/16
Last Seen: 07/22/16
NULL
NULL
NULL
NULL
Last Seen: 07/28/16
轉換爲varchar到日期時間,並找到天差作爲下面的作品:
datediff(day,CAST(substring(CA_NOTE, 12, 8) as datetime), getdate()) as dayspassed
問題是,當我堅持這種編碼在where子句將日期與getdate()進行比較我不斷收到相同的錯誤。
where datediff(day,CAST(substring(CA_NOTE, 12, 8) as datetime), getdate()) > 90
消息241,級別16,狀態1,行3轉換轉換從字符串 日期和/或時間時失敗。
我正在運行SQL Server 2014 Management Studio。
編輯採取評論考慮
destination-data的使用TRY_PARSE的建議的工作!感謝大家。
你能給我們一些樣本數據嗎? – GuidoG
謝謝你的評論。 datediff(day,CAST(substring(CA_NOTE,12,8)as datetime),getdate())> 90 給出與以前相同的錯誤消息。 – Adam
......這意味着你現在有一個不同的問題。這個新版本*看起來很好,所以我會翻回@GuidoG和他的請求,以顯示一些我們可以使用的示例數據。 –