SQL Server:将日期时间与GETDATE()进行比较

前端之家收集整理的这篇文章主要介绍了SQL Server:将日期时间与GETDATE()进行比较前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个存储过程应该获取日期等于当前日期或将来的所有记录.
日期保存在列targetDate中,并格式化为datetime.
我对应的WHERE子句如下:
WHERE A.targetDate >= GETDATE()

一般来说,我的存储过程工作正常,我唯一的问题是如果targetDate等于当前日期,因为所有日期都保存如下,即时间设置为零:

2014-02-22 00:00:00.000

我如何更改我的WHERE子句,以便它只考虑日期但忽略与它一起保存的时间,以便即使时间已经过,我也可以获得当前日期的任何记录?

蒂姆,非常感谢你提供的任何帮助.

解决方法

改成:
WHERE A.targetDate >= cast(GETDATE() as date)

编辑 – 因为targetdate还包含时间,是的,格式如下:

WHERE cast(A.targetDate as date) >= cast(GETDATE() as date)

编辑 – 给出评论重新:表现,可能想尝试:

WHERE a.targetdate >= cast(cast(getdate() as date) as datetime)

上次编辑应该给你相同的结果,并利用targetdate上的任何索引

猜你在找的MsSQL相关文章