--查询参数 declare @T1 datetime,@T2 datetime ,@time1 datetime,@time2 datetime--1.求SQL语句求出T1到T2之间离time最近的那条数据 select top 1 * from 表 where 时间列 between @T1 and @T2 order by abs(datediff(ms,时间列,@time1)--1.给出两个时间点time1,time2 求出分别离time1\time2最近的两条数据 select * from( select top 1 * from 表 where 时间列 between @T1 and @T2 order by abs(datediff(ms,时间列,@time1) )a union all select * from( select top 1 * from 表 where 时间列 between @T1 and @T2 order by abs(datediff(ms,时间列,@time2) )a
from t
where time between t1 and t2
order by abs(datediff(second,time1,time))
from t
where time between t1 and t2
order by abs(datediff(second,time1,time))
那这个怎么求:
如在T1-T2中给出两个时间点time1,time2
求出分别离time1\time2最近的两条数据
一条SQL求出
declare @T1 datetime,@T2 datetime
,@time1 datetime,@time2 datetime--1.求SQL语句求出T1到T2之间离time最近的那条数据
select top 1 * from 表
where 时间列 between @T1 and @T2
order by abs(datediff(ms,时间列,@time1)--1.给出两个时间点time1,time2 求出分别离time1\time2最近的两条数据
select * from(
select top 1 * from 表
where 时间列 between @T1 and @T2
order by abs(datediff(ms,时间列,@time1)
)a
union all
select * from(
select top 1 * from 表
where 时间列 between @T1 and @T2
order by abs(datediff(ms,时间列,@time2)
)a
势利!BS!!
第二问是求分别最近的一条都只能排序再TOP 1解决小李的答案对我的提问来说,是错的啊老大