我在时间表中有两个不同的列,例如月份列和年份列。
year month
2017 4
2018 5
2017 10
但我想将输出显示如下
year-month
2017-04
2018-05
2017-10
连接,我编写了代码
select concat(year,'-',month) as period from timetable
但是我无法编写代码来获取MM格式的月份。可以帮助我。
答案 0 :(得分:2)
您想要填充数据。这是一种方法:
select concat(year, '-', right('00' + month, 2)) as period
from timetable
这假设month
是一个字符串。否则你需要转换它:
select concat(year, '-', right('00' + cast(month as varchar(2)), 2)) as period
from timetable
答案 1 :(得分:0)
假设 year
和month
是int
:
SELECT CONVERT(varchar(4),[year]) + '-' + RIGHT('0' + CONVERT(varchar(2),[month]),2)
FROM YourTable;
答案 2 :(得分:0)
只是另一种选择
示例强>
Select Period = stuff([year]*100+[month],5,0,'-')
From timetable
<强> Reurns 强>
Period
2017-04
2018-05
2017-10