Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL Server查询DATETIME所在的位置_Sql_Sql Server_Tsql_Datetime - Fatal编程技术网

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。谢谢,加上引号,它可以工作:)输入日期时间值时,还要检查输入格式是否与语言无关。在这种情况下,你是好的。看到这个了吗