Преобразование целого числа в 0-дополненную строку - PullRequest
1 голос
/ 28 октября 2009

В SQL Server 2008 я хочу представить целое число в виде 3-символьной строки - так:

  • 3 становится '003'
  • 5 становится '005'
  • 107 становится '107'

Как я могу это сделать?

Ответы [ 2 ]

7 голосов
/ 28 октября 2009
/* 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
0 голосов
/ 28 октября 2009

Вы можете попробовать это

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...