【问题标题】:How to combine 2 int value columns to varchar with specified length [duplicate]如何将 2 个 int 值列组合为具有指定长度的 varchar [重复]
【发布时间】:2017-08-23 17:51:14
【问题描述】:

我想将这两个 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 服务器。

谢谢

【问题讨论】:

  • 什么版本的sql server? Bennjoe 的回答会奏效; SQL Server 2012 及更高版本有其他选项。

标签: sql-server


【解决方案1】:

您可以填充月份格式,使其强制显示 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)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-09-25
    • 2013-12-08
    • 1970-01-01
    • 2023-03-03
    • 1970-01-01
    • 2018-09-14
    • 1970-01-01
    相关资源
    最近更新 更多