Sybase-sql查询最近x天的日期,而不考虑时间部分

时间:2012-01-17 22:47:56

标签: sql sybase

我需要编写一个sybase查询,其中包含一个where子句,其中包含最后x天内的日期,如此 -

SELECT *
FROM table_name
WHERE 
date_col > [_last_x_days]

我能够使用

获取最近x天的日期时间
dateadd(day, -x, getdate())

但是,上面的方法仍然根据运行查询的时间给出了时间元素。如何删除时间部分?
 即将 10-10-2011 15:00:45 转换为 10-10-2011 00:00:00

另外,有更好的方法吗?

提前致谢!!!

Ĵ

2 个答案:

答案 0 :(得分:1)

convert函数将返回没有时间组件的日期。

dateadd(day,-x,CONVERT(DATE,getdate(),103))

有关CONVERT的完整说明,请参阅this link

答案 1 :(得分:1)

这个怎么样?

convert(datetime, substring(convert(varchar, dateadd(day, -x, getdate()), 20), 1, 11))
相关问题