我正在尝试创建一个新列,该列将返回自第一个日期起1年内的最后一个日期。
示例:
我有以下日期。
5/6/2011
8/9/2011
3/5/2012
6/8/2012
因此,在这种情况下,查询应选择3/5/2012作为最后日期。
也许这会有所帮助
Select Top 1 *
From YourTable
Where DateDiff(MONTH,(select min(DateCol) from YourTable),DateCol)<=12
Order by DateCol Desc
您几乎可以将您的英文规范翻译成一个sql:
SELECT max(d)
FROM t
WHERE d < (SELECT DATEADD(year, 1, MIN(d)) FROM t)
假设您的列名是dt
,表名是Tbl
SELECT MAX(dt)
FROM Tbl
WHERE dt < (SELECT MIN(dt) + 365 FROM Tbl)