根据日期参数获取下一个日期

时间:2016-12-08 22:18:37

标签: sql-server

我要求根据我已经知道的日期取回下一个日期。我使用以下查询,但这将返回整个记录集的所有日期和所有nextdates。我可以理解我要求的日期大于我的搜索日期,但是如果我使用WHERE = '2010-01-01 04:30:00.000'那么我就没有结果。我怎样才能获取下一个日期?

查询是(使用SQL Server 2012 Express):

SELECT [DateTime], [Item], LEAD([DateTime]) OVER (ORDER BY [DateTime]) NextDate
FROM cteList
WHERE [DateTime] > '2010-01-01 04:30:00.000'
ORDER BY [DateTime];

1 个答案:

答案 0 :(得分:1)

正如其他人所说,您可以限制现有查询TOP 1

SELECT TOP 1 [DateTime], [Item], LEAD([DateTime]) OVER (ORDER BY [DateTime]) NextDate
FROM cteList
WHERE [DateTime] > '2010-01-01 04:30:00.000'
ORDER BY [DateTime];

要使用WHERE [DateTime] =,您必须拥有表格中相应行的确切日期时间。