簡體   English   中英

T-SQL:合並當前月份和月份中的月份列

[英]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.

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