计算上一季度最后一天的最有效方法是什么?
示例:给定日期为11/19/2008,我想返回2008年9月30日.
平台是SQL Server
如果@Date有相关日期
Select DateAdd(day, -1, dateadd(qq, DateDiff(qq, 0, @Date), 0))
编辑:感谢下面的@strEagle,更简单的是:
Select dateadd(qq, DateDiff(qq, 0, @Date), -1)
实际上更简单的是:
SELECT DATEADD(qq, DATEDIFF(qq, 0, GETDATE()), -1)
获取当前日期
SELECT CONVERT(DATE,GETDATE()) [Current Date]
获取当前日期的季度的第一个日期
SELECT CONVERT(DATE, DATEADD(QQ, DATEDIFF(QQ, 0, GETDATE()) ,0)) [Current Quarter 1st Date]
获取当前日期的季度的最后日期
SELECT CONVERT(DATE,DATEADD(d, -1, DATEADD(q, DATEDIFF(q, 0, GETDATE()) +1, 0))) [Current Quarter Last Date]
获取当前日期的下一季度的第一个日期
SELECT CONVERT(DATE, DATEADD(QQ, DATEDIFF(QQ, 0, GETDATE()) +1 ,0)) [Next Quarter 1st Date]
获取当前日期的下一季度的最后日期
SELECT CONVERT(DATE,DATEADD(d, -1, DATEADD(q, DATEDIFF(q, 0, GETDATE()) +2, 0))) [Next Quarter Last Date]