如何将整数转换为文本以对齐左侧的文本?

时间:2011-10-17 10:54:02

标签: sql-server sql-server-2008

我需要转换

1
12
145

to(我使用S代表SPACE)

SSSS1
SSS12
SS145

如果我使用CAST (VALUE as CHAR(5)),我会

1SSSS
12SSS
145SS

如何执行该操作?

4 个答案:

答案 0 :(得分:2)

RIGHT('     ' + CAST (VALUE as VARCHAR(5)), 5)

更一般地说:

DECLARE @PadTo tinyint;
SET @PadTo = 5;

SELECT
     RIGHT(REPLICATE(' ', @PadTo) + CAST(VALUE as VARCHAR(255)), @PadTo)
...

答案 1 :(得分:2)

你可以在这里找到你的答案:

SQL Padding

特别:

SELECT RIGHT ('000000'+ CAST (@Number AS varchar), 6)

答案 2 :(得分:2)

declare @T table(Value int)

insert into @T values (1),(12),(145)

select right(stuff(Value, 1, 0, space(5)), 5)
from @T

答案 3 :(得分:2)

SELECT STR(N,5)
FROM (VALUES (1),(12),(145)) T(N)

返回

-----
    1
   12
  145