代码之家  ›  专栏  ›  技术社区  ›  Lance Roberts

日期间文字

  •  0
  • Lance Roberts  · 技术社区  · 14 年前

    如何在SQLServer(2005)中实现这一点?

    SELECT tstamp, GVEA_Load_Net_MWH 
      FROM DA.dbo.Oplog
     WHERE CAST(LEFT(tstamp,18) AS datetime) BETWEEN "01/01/2009 00:00:00" 
                                                 AND "01/01/2010 00:00:00"
    
    2 回复  |  直到 14 年前
        1
  •  3
  •   D'Arcy Rittich    14 年前

    将双引号改为单引号。

        2
  •  2
  •   SQLMenace    14 年前

    SELECT tstamp, GVEA_Load_Net_MWH FROM DA.dbo.Oplog
    WHERE CAST(LEFT(tstamp,18) AS datetime) BETWEEN '20090101' AND '20100101'
    

    注意到ISO-safe和语言安全的YYYYMMDD格式了吗?请记住,此查询不是可搜索的,并且不会使用索引

    也看看 How Does Between Work With Dates In SQL Server? 要明白为什么中间人有时不能给你想要的结果