把购物车内的记录超过8小时的删除
表 Car
字段 carDate(加入购物车的时间)
不知道这样写是否正确:Delete From Car WHERE datediff(hh,carDate,getdate())>=8
datediff是否精确,最好不要8小时不到就删除了,这样的话商品无法加入购物车了,也不要超过8小时很久也没有删除,求正确的sql。
------解决方案--------------------
- SQL code
declare @t table(col datetime)insert into @tselect '2012-01-31 19:37:57.450' union allselect '2012-01-31 11:40:57.450' union allselect '2012-01-31 11:39:57.450' union allselect '2012-01-31 11:39:58.450' union allselect '2012-01-31 11:37:57.450' union allselect '2012-01-31 11:41:57.450' union allselect '2012-01-31 11:42:57.450' --得到8小时以前的数据select * from @t where datediff(hh,col,getdate())>=8/*col-----------------------2012-01-31 11:40:57.4502012-01-31 11:39:57.4502012-01-31 11:39:58.4502012-01-31 11:37:57.4502012-01-31 11:41:57.4502012-01-31 11:42:57.450*/--得到480分钟以前的数据select * from @t where datediff(mi,col,getdate())>=480/*col-----------------------2012-01-31 11:40:57.4502012-01-31 11:39:57.4502012-01-31 11:39:58.4502012-01-31 11:37:57.4502012-01-31 11:41:57.450*/
------解决方案--------------------
Delete From Car WHERE datediff(mi,carDate,getdate())>= (8 * 60)
------解决方案--------------------
delete from tbl where datediff(mi,carDate,getdate())>= 480