代码之家  ›  专栏  ›  技术社区  ›  user70192

按SQL Server 2005中的日期/时间查询

  •  3
  • user70192  · 技术社区  · 14 年前

    我有一个这么简单的问题,问这个问题我觉得很愚蠢。我简直不敢相信我会撞到这个。

    我有一张叫做“订单”的桌子。orders“有一个名为”dateordered“的smalldatetime字段。我需要在一个特定的日期得到所有的“订单”。我尝试过以下方法,但没有成功:

    SELECT * FROM Orders WHERE [DateOrdered]=2010-06-01
    
    SELECT * FROM Orders WHERE [DateOrdered]='2010-06-01'
    
    SELECT * FROM Orders WHERE [DateOrdered]=CAST('2010-06-01' AS smalldatetime)
    

    我做错什么了?我简直不敢相信我竟然在问这个问题。

    4 回复  |  直到 14 年前
        1
  •  3
  •   egrunin    14 年前

    2003 '1905-06-27'

    SELECT * FROM Orders WHERE DateOrdered >= '2010-06-01' 
                           and DateOrdered < '2010-06-02'
    

    >= < between 2010-06-02

        2
  •  2
  •   SQLMenace    14 年前

    SELECT * FROM Orders WHERE [DateOrdered] >='20100601'
    AND [DateOrdered] < '20100602'
    

    SET LANGUAGE 'us_english'
    
    SELECT CONVERT(DATETIME, '2006-04-06'),  --will be YMD
           CONVERT(DATETIME, '20060406')  --safe format
    
    SET LANGUAGE 'Italian'
    
    SELECT CONVERT(DATETIME, '2006-04-06'),  --will be YDM
           CONVERT(DATETIME, '20060406')  -- safe format
    
        4
  •  1
  •   Vanilj    14 年前

    DATEDIFF

    SELECT * FROM Orders WHERE DATEDIFF(d, [DateOrdered], '20100601') = 0