如何将2个int值列组合到具有指定长度的varchar

时间:2017-03-30 01:50:10

标签: sql-server

我想将这两个int列合并为一个:

Month   Year
1       2017  
2       2016
12      2016

我使用了SELECT CAST(Year AS nvarchar(20)) + '-' + CAST(Month AS nvarchar(20)) AS newcolumn from table_name

然而,我得到的结果是

newcolumn
2017-1
2016-2
2016-10

我想要的结果是

newcolumn
2017-01
2016-02
2016-10

我正在使用ms sql server。

由于

1 个答案:

答案 0 :(得分:0)

您可以填充月份格式,以便强制显示2个数字。

SELECT CAST(Year AS nvarchar(20)) + '-' 
+ RIGHT('00' + CAST(Month AS nvarchar(20)),2) AS newcolumn from table_name

使用Getdate()示例:

SELECT CAST(YEAR(GETDATE()) as nvarchar(20)) + '-' +
       RIGHT('00' + CAST(MONTH(GETDATE()) as NVARCHAR(2)),2)