select FORMAT(5,'0#') --05
select FORMAT(11,'0#') --11
Format
函數可用於SQL Server 2012中& 2014,但我正在使用SQL Server 2008 R2。我如何能得到相同的結果?如何在SQL Server 2008 R2的T-SQL中格式化數字?
select FORMAT(5,'0#') --05
select FORMAT(11,'0#') --11
Format
函數可用於SQL Server 2012中& 2014,但我正在使用SQL Server 2008 R2。我如何能得到相同的結果?如何在SQL Server 2008 R2的T-SQL中格式化數字?
考慮到只有0-9需要添加0之前。
Declare @num int =5
SELECT CASE
WHEN Len(@num) = 1 THEN '0' + Cast(@num AS VARCHAR(10))
ELSE Cast(@num AS VARCHAR(10))
END
您可以簡單地使用Right函數。檢查下面的方法:
/* Method 1 Using RIGHT function*/
SELECT RIGHT('00' + cast(9 as varchar(5)), 2)
/* Method 2 Using RIGHT AND REPLICATE function*/
SELECT RIGHT(REPLICATE('0', 2) + cast(9 as varchar(5)), 2)
試試這個:
SELECT right('0' + convert(varchar,5),2) --05
SELECT right('0' + convert(varchar,11),2) --11
,除非你正在處理的空號,如果只需要2個數字那麼就沒有必要墊兩個零(雖然我猜不傷)。但是從支持更大的數字長度的角度來看,你的例子很好。 – 2014-11-09 07:31:03