选择最短日期的一年内的最后一个日期

问题描述 投票:0回答:3

我正在尝试创建一个新列,该列将返回自第一个日期起1年内的最后一个日期。

示例:

我有以下日期。

5/6/2011
8/9/2011
3/5/2012
6/8/2012

因此,在这种情况下,查询应选择3/5/2012作为最后日期。

sql sql-server tsql ssms
3个回答
0
投票

也许这会有所帮助

Select Top 1 * 
 From  YourTable
 Where DateDiff(MONTH,(select min(DateCol) from YourTable),DateCol)<=12
 Order by DateCol Desc

0
投票

您几乎可以将您的英文规范翻译成一个sql:

 SELECT max(d) 
 FROM  t
 WHERE d < (SELECT DATEADD(year, 1, MIN(d)) FROM t)

0
投票

假设您的列名是dt,表名是Tbl

SELECT MAX(dt)
FROM Tbl
WHERE dt < (SELECT MIN(dt) + 365 FROM Tbl)
© www.soinside.com 2019 - 2024. All rights reserved.