簡體   English   中英

如何獲取上一年(12月)和月份顯示在SQL中的當前月份

[英]how to get previous year (month december) and month showing current month in sql

我有日期時間值列表。 如何僅選擇12月的上一年。

例如:

Current month = May 2016
Previous year of december = Dec 2015
(it will display data from dec 2015 to may 2016)

if Current month = May 2017
Previous year of december = Dec 2016 and so on.
(it will display data from dec 2015 to may 2016)

任何想法 ? 非常感謝你

下面的查詢將提供所需的輸出:-

declare @val as date='2016-05-19'

select concat(datename(MM,DATEADD(yy, DATEDIFF(yy,0,@val), -1)),'   ',datepart(YYYY,DATEADD(yy, DATEDIFF(yy,0,@val), -1)))

輸出:2015年12月

您可以減去月份數:

select dateadd(month, - month(val), val)
SELECT 
*
FROM
TableName
WHERE
TableName.Date BETWEEN CONVERT(DATE,CONVERT(VARCHAR,DATEPART(YYYY,GETDATE())-1)+'-12-'+'01') AND GETDATE()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM