将整数转换为0填充字符串

时间:2009-10-28 06:44:50

标签: sql-server tsql sql-server-2008

在SQL Server 2008中,我想将整数表示为3个字符的字符串 - 所以:

  • 3变为'003'
  • 5变为'005'
  • 107变为'107'

我该怎么做?

2 个答案:

答案 0 :(得分:7)

/* Method 1 Using RIGHT function */
SELECT RIGHT('000' + CAST(NumericColumn AS VARCHAR(3)), 3) PaddedCnumericColumn 
FROM MyTable


/* Method 2 Using RIGHT AND REPLICATE function */
SELECT  RIGHT(REPLICATE('0', 3) + CAST(NumericColumn AS VARCHAR(3)), 3) PaddedCnumericColumn 
FROM MyTable

答案 1 :(得分:0)

你可以试试这个

DECLARE @Table TABLE(
        Val INT
)

INSERT INTO @Table (Val) SELECT 1
INSERT INTO @Table (Val) SELECT 10
INSERT INTO @Table (Val) SELECT 100

SELECT  REPLICATE('0',3 - LEN(CAST(Val AS VARCHAR(3)))) + CAST(Val AS VARCHAR(3))
FROM    @Table
WHERE   ABS(Val) < 1000