SQL server时间查询日介于凌晨3点和凌晨3点之间

SQL server时间查询日介于凌晨3点和凌晨3点之间,sql,sql-server,time,Sql,Sql Server,Time,我有一个案例,一天从凌晨3点到凌晨3点。我必须以-10和+10分钟的间隔匹配两个不同表中的时间。在某些情况下,表格中的时间恰好是从晚上11:55到晚上11:59;但是,在另一个表中,应该匹配的记录具有相同的日期,但时间范围为00:00am到00:05am。知道两条记录的日期相同,我如何匹配时间 第一张表格播放时间: 日期-日期 程序1-varchar 从格林尼治时间 ToGmt-时间 第二个表airingtime2: 日期-日期 程序2-varchar 计划开始时间 计划结束时间 我想通

我有一个案例,一天从凌晨3点到凌晨3点。我必须以-10和+10分钟的间隔匹配两个不同表中的时间。在某些情况下,表格中的时间恰好是从晚上11:55到晚上11:59;但是,在另一个表中,应该匹配的记录具有相同的日期,但时间范围为
00:00am
00:05am
。知道两条记录的日期相同,我如何匹配时间

第一张表格播放时间:

  • 日期-日期
  • 程序1-varchar
  • 从格林尼治时间
  • ToGmt-时间
第二个表airingtime2:

  • 日期-日期
  • 程序2-varchar
  • 计划开始时间
  • 计划结束时间
我想通过日期和时间上的联接将program1字段与Program2字段匹配:

…JOIN… airingtime at
    ON at.[fromgmt] BETWEEN dateadd(minute, -10, airingtime2[ScheduleStart])
                        AND dateadd(minute, +10, [Schedule:Asrun Start])
   AND at.[date] = airingtime2.[date]
但在某些情况下:

  • 表1:从(00:00)
  • 表2:From(23:54)

该代码自“00:00”<“23:54”起不起作用。但是,它们的日期是相同的。

不确定您要问什么,您能提供一些样本数据和您想要的输出吗?一个范围是四分钟,另一个是五分钟。如果一天的时间是午夜到午夜,您有没有按照您想要的方式整理逻辑?通常这种情况的解决方案是:
[fromgmt]介于dateadd(分钟,-20,[ScheduleStart])和dateadd(分钟,20,[Schedulerun Start])
之间,但由于一个日期在晚上之后,另一个在午夜之前。代码不起作用您可以添加日期(小时,-3,yourDateTimeColumn)并比较日期。。。