【问题标题】:Retrieve data between yesterday at 0700 and today at 0700检索昨天 0700 和今天 0700 之间的数据
【发布时间】:2020-10-29 19:04:53
【问题描述】:

我正在尝试提出一个 SQL 查询,该查询检索从昨天 0700 到今天 0700 的数据。我在下面尝试过,但没有得到正确的值。

where datediff(hour, Incident_Call_Date_Time,getutcdate()) between 6 and 30

字段中的数据格式如下:

2020-10-28 22:16:30.000

【问题讨论】:

    标签: sql sql-server datetime


    【解决方案1】:

    试试这个:

    WHERE Incident_Call_Date_Time >= CONVERT(DATETIME, FORMAT(DATEADD(DAY, -1, GETDATE()), 'yyyy-MM-dd') + ' 07:00')
    AND Incident_Call_Date_Time < CONVERT(DATETIME, FORMAT(GETDATE(), 'yyyy-MM-dd') + ' 07:00')
    

    它获取昨天和今天的日期作为字符串(没有时间部分),将 07:00 添加到日期作为新的时间部分,并检查您的值是否介于新的 DATETIME 值之间。

    【讨论】:

      【解决方案2】:
      where Incident_Call_Date_Time
          between dateadd(hh, 7, cast(cast(getutcdate() - 1 as date) as datetime))
              and dateadd(hh, 7, cast(cast(getutcdate()     as date) as datetime))
      

      【讨论】:

        猜你喜欢
        • 2014-05-25
        • 1970-01-01
        • 2016-05-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-01-13
        相关资源
        最近更新 更多