[英]how can I get data from every month from past one year in t-sql and each month should be in different column
[英]T-SQL: combine current year and month from month column
我正在嘗試將YYYY形式的當年與month列中的monthy
相結合。
monthy monthsname
------------------------
1 January
2 February
3 March
4 April
5 May
6 June
7 July
8 August
9 September
10 October
11 November
12 December
這是我得到的輸出:
monthy monthsname month_number
------------------------------------
5 May NULL
6 June NULL
8 August NULL
9 September NULL
10 October NULL
11 November NULL
1 January 201701
2 February 201702
3 March 201703
4 April 201704
7 July 201707
12 December 201712
而不是month_number為空,我試圖這樣做:
isnull(ss.month_number, cast(convert(varchar(4), DATEPART(year, getdate())) as int) + right('0-- ' + cast(convert(varchar(2), monthy) as int), 2))
我沒有得到正確的輸出:我想要類似201705
這樣的month_number
的第一行記錄
根據您的數據類型是什么,您可能需要強制轉換,但這只是年份* 100加上月份數字,以獲得要創建的數字的整數表示。
ISNULL(month_number,YEAR(GETDATE())*100+monthy)
你可以嘗試一下:
SELECT
CONVERT(VARCHAR(4),DATEPART(YEAR, GETDATE())) + --year
(
REPLICATE('0', 2 - LEN(CONVERT(VARCHAR(2), monthy)) ) +
CONVERT(VARCHAR(2), monthy) --monthy
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.