SQL Server查询DATETIME

时间:2017-10-16 09:22:02

标签: sql sql-server tsql datetime

我收到了这个问题:

select IDS as data 
from dbo.SKz 
where dbo.SKz.DatSave >= 2008-12-20

它运作正常。但是当我想要按小时和分钟查询时:

select IDS as data 
from dbo.SKz 
where dbo.SKz.DatSave >= 2008-12-20 23:59:59

我收到错误:

  

Msg 102,Level 15,State 1,Line 1
  “23”附近的语法不正确。

DatSavedatetime列。行= 2008-12-26 13:44:37.000

中的示例

问题出在哪里?谢谢。

2 个答案:

答案 0 :(得分:4)

你必须在它周围加上引号。

select IDS as data from dbo.SKz WHERE dbo.SKz.DatSave>= '2008-12-20 23:59:59'

答案 1 :(得分:0)

你需要报价。但是,我强烈推荐以下两个中的一个:

select IDS as data 
from dbo.SKz 
where dbo.SKz.DatSave >= '2008-12-21' 

或:

select IDS as data 
from dbo.SKz 
where dbo.SKz.DatSave >= dateadd(day, 1, '2008-12-20')

我猜你真的不想要在午夜前一秒钟的日期/时间值。