我有一个类似的表,服务器是 SQL Server 2008 R2,我们不能在其中使用 concat
函数
YearID | MonthId
--------+----------
2017 | 1
2014 | 5
2014 | 10
2016 | 12
我想要输出为
201701
201405
201410
201612
到目前为止我尝试了什么
select
cast(YearId as varchar(50)) + '0' + cast(MonthId as varchar(50))
from
TEST
我得到的输出为
201701
201405
2014010
2016012
当monthID
为2位数字时,失败。
如何解决这种情况?
最佳答案
你可以简单地这样做:
SELECT CAST(YearID * 100 + MonthID AS VARCHAR(6))
FROM mytable
注意,我们在这里只使用了一个强制转换操作和算术操作。没有使用额外的检查和功能。
关于sql - 当 monthid 为 2 位数字时,在 SQL Server 2008 R2 中连接失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47363445/