2010-08-19 55 views
0

如何在SQL Server(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" 

回答

3

将双引号更改为单引号。

+0

感谢的结果,它总是简单的东西。当定时器用完时我会接受。 – 2010-08-19 17:23:57

2

像这样的例子

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

通知的ISO安全和语言安全YYYYMMDD格式?请记住,这个查询不优化搜索,也不会使用索引

而且看看How Does Between Work With Dates In SQL Server?明白为什么会之间有时不给你epect

+0

谢谢,这种格式的日期会带有一个隐含的00:00:00,并且能够处理所有的时间? – 2010-08-19 17:29:08

+0

是的,看到例子链接 – SQLMenace 2010-08-19 17:30:39

+0

是的,好文章。 – 2010-08-19 17:31:47