数字小于10时如何添加前导零?

Red*_*ket 6 sql sql-server

我的sql表中有一列.我想知道当列的值小于10时,如何在列中添加前导零?例如:

number   result
1     ->    01
2     ->    02
3     ->    03
4     ->    04
10    ->    10
Run Code Online (Sandbox Code Playgroud)

Cri*_*ing 12

format(number,'00')
Run Code Online (Sandbox Code Playgroud)

版本> = 2012


Fel*_*tan 10

你可以使用RIGHT:

SELECT RIGHT('0' + CAST(Number AS VARCHAR(2)), 2) FROM tbl
Run Code Online (Sandbox Code Playgroud)

对于Number长度> 2的s,使用CASE表达式:

SELECT
    CASE
        WHEN Number BETWEEN 0 AND 99
            THEN RIGHT('0' + CAST(Number AS VARCHAR(2)), 2)
        ELSE
            CAST(Number AS VARCHAR(10))
    END
 FROM tbl
Run Code Online (Sandbox Code Playgroud)