SQL Server查询DATETIME所在的位置
我得到了这个问题:SQL Server查询DATETIME所在的位置,sql,sql-server,tsql,datetime,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 我得到一个错误: 味精102,第15级,状态1,第1行 “23”附近的语法不正确 DatSave是一个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
我得到一个错误:
味精102,第15级,状态1,第1行“23”附近的语法不正确
DatSave
是一个datetime
列。第行示例=2008-12-26 13:44:37.000
问题在哪里?多谢各位 你必须在它周围加引号
select IDS as data from dbo.SKz WHERE dbo.SKz.DatSave>= '2008-12-20 23:59:59'
你必须在它周围加上引号
select IDS as data from dbo.SKz WHERE dbo.SKz.DatSave>= '2008-12-20 23:59:59'
你需要报价。但是,我强烈推荐以下两种方法之一:
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 >= '2008-12-21'
或:
我猜您真的不希望日期/时间值在午夜前1秒。缺少引号,
'2008-12-20 23:59:59'
第一个查询的工作方式与您认为的不一样。。。2008-12-20=1976。谢谢,加上引号,它可以工作:)输入日期时间值时,还要检查输入格式是否与语言无关。在这种情况下,你是好的。请参见缺少的引号,'2008-12-20 23:59:59'
第一个查询的工作方式与您认为的不一样。。。2008-12-20=1976。谢谢,加上引号,它可以工作:)输入日期时间值时,还要检查输入格式是否与语言无关。在这种情况下,你是好的。看到这个了吗