Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.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 将日期与Sql server中的当前日期进行比较_Sql Server_Date - Fatal编程技术网

Sql server 将日期与Sql server中的当前日期进行比较

Sql server 将日期与Sql server中的当前日期进行比较,sql-server,date,Sql Server,Date,我有一个表,其中列出了一些带有日期的事件。我正在尝试编写一个只返回即将发生的事件的存储过程 我在存储过程中编写了以下查询: SELECT * FROM Events WHERE tDate >= (select CAST(GETDATE() as DATE)) 但这并没有返回正确的结果。这也会显示日期小于当前日期的结果。如何编写将返回日期等于或大于今天日期的所有事件的查询 编辑:表中输入的日期格式为yyyy/dd/mm,getdate()返回的日期格式为yy

我有一个表,其中列出了一些带有日期的事件。我正在尝试编写一个只返回即将发生的事件的存储过程

我在存储过程中编写了以下查询:

SELECT     *
FROM       Events
WHERE      tDate >= (select CAST(GETDATE() as DATE))
但这并没有返回正确的结果。这也会显示日期小于当前日期的结果。如何编写将返回日期等于或大于今天日期的所有事件的查询


编辑:表中输入的日期格式为yyyy/dd/mm,getdate()返回的日期格式为yyyy/mm/dd。我认为这是问题的原因。已输入到表中的日期已使用jquery日期选择器获取。这个问题有什么解决办法吗?

不知道为什么您有额外的选择

SELECT     *
FROM       Events
WHERE      tDate >= CAST(GETDATE() as DATE)

您的
日期
数据在Sql Server中存储不正确。当应用程序传递字符串
'2015-09-04'
并保存该日期列时,它将保存为2015年9月4日,而不是2015年4月9日。因此,查询返回大于
GETDATE()
的行

示例

DECLARE @D VARCHAR(10) = '2015-09-04'
SELECT CONVERT(VARCHAR(20),CONVERT(DATE,@D),109)
当从应用程序在表中保存日期时,您需要修复数据,然后使用样式为的
CONVERT
,如下所示<代码>转换(日期'20150409',112)

有关更多信息,请参阅以下线程:


“…大于今天的日期”-使用“大于”(>)而不是“大于或等于”(>=)简单地
WHERE tDate>GETDATE()
)有什么问题吗?这个问题目前还不清楚,但我想是时间部分吧?你能提供这个查询结果和例外情况的例子吗output@ughai此查询返回日期为2015-09-04、2015-10-04的结果。但结果的日期应等于或大于2015-14-04
DECLARE @D VARCHAR(10) = '20150409'
SELECT CONVERT(VARCHAR(20),CONVERT(DATE,@D,112),109)