【发布时间】:2017-02-21 09:55:36
【问题描述】:
场景 1:当年
代码总是需要选择
当年一月的最后一个星期日。前(31-01-2016)
当前代码 - 选择 2016 年 1 月 1 日
convert(date,DATEADD(yy, DATEDIFF(yy, 0, getdate()), 0))
情景 2:去年
代码总是需要选择
上一年一月的最后一个星期日。前(01-02-2015)
当前代码 - 选择 2015 年 1 月 1 日
convert(date,DATEADD(yy, DATEDIFF(yy, 0, dateadd(YEAR, - 1, getdate())), 0))
而不是硬编码日期。我想从机器中挑选日期并进行比较。
一周从星期日开始,到星期六结束。有什么帮助吗?
【问题讨论】:
-
@dan 抱歉,我已经更新了问题
-
这可能会有所帮助,但我没有时间测试它:social.msdn.microsoft.com/Forums/sqlserver/en-US/…
-
你使用的是哪个版本的sql server?在较新版本的 sql server 中有不同的方法来执行此操作。
-
@sean-lange 我使用的是 SQL Server 2014
-
我不太确定您对这里的输出有何期望。您想要当月的最后一个星期日还是一年中的最后一个星期日?或者可能是今年一月的最后一个星期日?还是明年一月的最后一个星期日?
标签: sql sql-server tsql date sql-server-2014