我的SQL查询有一个小问题.我正在使用GETDATE函数,但是,假设我在下午5点执行脚本,它将在2011年12月12日下午5点到2011年12月18日下午5点之间调出记录.我怎样才能让它调出整个2011年12月12日-2011年12月18日的记录基本上忽略时间.
我的 playbook :
WHERE Orders.OrderStatus = 'Shipped'
AND Orders.ShipDate > (GETDATE()-6)
我的SQL查询有一个小问题.我正在使用GETDATE函数,但是,假设我在下午5点执行脚本,它将在2011年12月12日下午5点到2011年12月18日下午5点之间调出记录.我怎样才能让它调出整个2011年12月12日-2011年12月18日的记录基本上忽略时间.
我的 playbook :
WHERE Orders.OrderStatus = 'Shipped'
AND Orders.ShipDate > (GETDATE()-6)
在SQLServer2008及更新版本中,可以将DateTime
转换为Date
,这将删除时间元素.
WHERE Orders.OrderStatus = 'Shipped'
AND Orders.ShipDate >= (cast(GETDATE()-6 as date))
在SQL Server 2005及以下版本中,您可以使用:
WHERE Orders.OrderStatus = 'Shipped'
AND Orders.ShipDate >= DateAdd(Day, Datediff(Day,0, GetDate() -6), 0)