2017-05-24 206 views
0

請幫助我獲取SQL服務器中兩個日期之間的日期差異。 下面的查詢給錯誤在兩個日期之間獲取日期差異

DATEDIFF(DD,(convert(date,[Fdate])),(convert(date,[Ldate])))[DDiff] 
+3

錯誤信息是什麼意思? – tuomastik

+0

你得到的錯誤是什麼? – Sam

+0

你爲什麼要在'varchar'列中存儲日期? –

回答

3

既然你的SQL Server 2012上,使用try_convert()

select datediff(day,try_convert(date,[fdate]),try_convert(date,[ldate])) as ddiff 

在SQL Server 2012及以上:每個將返回null當轉換失敗而不是一個錯誤。


的主要問題可能是你存儲日期爲字符數據類型。如果是這樣,可以根據什麼格式的日期存儲在造成額外的問題。

您可能需要指定一個style with try_convert(),或set dateformatMDYDMY,或使用特定的文化與try_parse()