2012-01-17 20 views
0

我需要寫一個SYBASE查詢,將有一個地方與日期子句中最後X天像這樣 -Sybase- SQL查詢,其中日期在最近x天不考慮時間部分

SELECT * 
FROM table_name 
WHERE 
date_col > [_last_x_days] 

我能使用

dateadd(day, -x, getdate()) 

獲得最近x天的日期時間。然而,上述方法仍然給我基於查詢運行時的時間元素。我如何剝離時間部分?
即轉換2011年10月10日15時00分45秒2011年10月10日0點00分○○秒

此外,有沒有更好的方法來做到這一點?

在此先感謝!

J

回答

1

convert函數將返回沒有時間分量的日期。

DATEADD(日,-x,CONVERT(DATE,GETDATE(),103))

爲CONVERT的完整描述參見this link

+0

該鏈接不再提供與Sybase相關的任何內容。 – DavidMWilliams 2016-03-11 00:40:05

+0

這應該是我的錯嗎?你有什麼建議我這樣做? – 2016-03-12 19:38:37

+0

好吧,不需要親自...但鏈接現在是無用的。也許你可以找到該頁面上的相同信息,並編輯你的答案以包含它。將來,由於這種類型的問題,簡單鏈接的答案並不是很好 - 頁面可能會消失。 – DavidMWilliams 2016-03-13 06:17:09

1

這個怎麼樣?

convert(datetime, substring(convert(varchar, dateadd(day, -x, getdate()), 20), 1, 11)) 
+0

20不是格式,也許我查詢的分辨率是舊版本。謝謝! – Jai 2012-01-17 23:43:57