【问题标题】:how to compare server time如何比较服务器时间
【发布时间】:2009-10-27 05:05:27
【问题描述】:

在 Sql server 2000 上工作。我想获取当前服务器日期和时间,然后想将它与我的表列 EntryDate 进行比较。如何?

Declare @id datetime

Select @id = DATEPART(hour,GETDATE())

SELECT [Name],[BirthDate],[Email]
FROM Customers3 where BirthDate<=@id-1 AND BirthDate>=@id

想要获得像@id=10 这样的范围值。我想要获得那些介于 9 到 10 之间的值

【问题讨论】:

    标签: sql sql-server tsql sql-server-2000 date-comparison


    【解决方案1】:

    用途:

    WHERE t.birthdate BETWEEN DATEADD(hh, -1, GETDATE()) AND GETDATE()
    

    参考:DATEADD

    【讨论】:

      【解决方案2】:

      您需要像这样沿着 DatePart() 使用查询:

      Declare @id datetime
      
      Select @id = DATEPART(hour,GETDATE())
      
      SELECT [Name],[BirthDate],[Email]
      FROM Customers3 
      where DatePart(HOUR,BirthDate) between @id-1 AND @id
      

      【讨论】:

      • 虽然这样可行,但如果生日列上有索引 - 您的查询将不会使用它,因为在比较之前对列执行了函数。
      猜你喜欢
      • 1970-01-01
      • 2010-11-30
      • 1970-01-01
      • 1970-01-01
      • 2019-08-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多