我想获得一个最接近的投票日期时间到OrderSubmittedtime其中最接近的投票日期时间可以是日期时间以前或将来的日期(+或 - )只要日期时间足够接近。获取过去或未来的最接近的日期时间在SQL Server中给定的日期时间
下面是这种情况的示例:
create table Rosters
(
OrderID int,
PollingTime datetime
,OrdersubmittedTime datetime
)
insert into Rosters values (1,'2017-08-07 11:30:00.000','2017-08-07 04:12:51.000')
insert into Rosters values (1,'2017-08-07 12:13:34.000','2017-08-07 04:12:51.000')
insert into Rosters values (1,'2017-08-07 03:30:00.000','2017-08-07 04:12:51.000')
insert into Rosters values (1,'2017-08-08 00:30:00.000','2017-08-07 04:12:51.000')
insert into Rosters values (2,'2017-08-05 10:30:00.000','2017-08-07 04:12:51.000')
insert into Rosters values (2,'2017-08-06 11:30:00.000','2017-08-07 04:12:51.000')
insert into Rosters values (2,'2017-08-08 00:30:00.000','2017-08-07 04:12:51.000')
预期的结果集是: 对于订单ID = 1时,最接近的轮询时间将是“2017年8月7日03:30: 00.000' 和订单ID = 2,最接近轮询时间将是‘2017年8月6日11:30:00.000’
我现在能拿编写类似下面的查询,但不正确的:
select PollingTime
,OrdersubmittedTime
,OrderID
, abs(DATEDIFF(MINUTE,OrdersubmittedTime,PollingTime)) as ClosestPollingTime
from Rosters
请帮助我,谢谢。
“足够接近”什么你有什么“足够接近”的+/-值轮询条件 –