sql server查询距离当前时间最近的一条记录,并且记录的时间大于当前时间

如题所述

select top n * from table where create_date>getdate() order by create_date ASC

这个语句就行了,要拉几条就把n换成几

这个语句首先按时间筛选大于当前时间的,然后按时间排序,从小到大排序,所以排前面的是离现在比较近的时间

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-01-21
你都已经把逻辑理清楚了,先检索比当前日期大的,然后min出最小的
select min(rq) from table where rq > getdate()追问

两条记录怎么改呢?

追答

如果是两条记录,就用排序,再用top取
select top 2 rq from table where rq > getdate() order by rq
一定要排序