[英]How do I get the date of the last day of the previous month in the previous year in SQL?
我正在編寫一個帶有where子句的查詢,該子句需要返回上一年的上個月的最后一天。 因此,如果我今天( 18/06/2014
)運行它,它將返回31/05/2013
。 如果我下個月在19/07/2014
月19日運行它,它將返回30/06/2013
,依此類推。
我可以用
select DATEADD(day,-1,DATEadd(MONTH,datediff(month,0,GETDATE()),0))
它返回上個月的最后日期,但我不知道如何調整該日期以為一年前的日期。
我可以在上述代碼的末尾添加-365,該代碼可以滿足我的要求,但不能說明account年。 盡管我不希望報告的使用時間足夠長,以至於不能引起人們的關注,但最好找到一個效果很好的解決方案(並認為可能會適用)。
任何解決方案,不勝感激。
只需在您的getdate()
dateadd(YY, -1, {your code})
周圍添加另一個dateadd(YY, -1, {your code})
,可以先回溯年份,然后再查看上個月(根據下面的評論)。
select DATEADD(day,-1,DATEadd(MONTH,datediff(month,0,DATEADD(YY,-1,GETDATE())),0))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.