简体   繁体   English

如何在 SQL Server 2008 R2 的 T-SQL 中格式化数字?

[英]How do I format a number in T-SQL for SQL Server 2008 R2?

select FORMAT(5,'0#')   --05
select FORMAT(11,'0#')   --11

The Format function can be used in SQL Server 2012 & 2014, but I'm using SQL Server 2008 R2. Format函数可以在 SQL Server 2012 & 2014 中使用,但我使用的是 SQL Server 2008 R2。 How I can get the same result?我怎样才能得到相同的结果?

Try this:尝试这个:

SELECT right('0' + convert(varchar,5),2) --05

SELECT right('0' + convert(varchar,11),2) --11

You can simply use Right function.您可以简单地使用 Right 函数。 check the below methods :检查以下方法:

/* 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)

Considering only 0-9 needs 0 to be appended before.考虑到只有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 

使用此代码

 SELECT CONVERT(varchar, CAST(987654321 AS money), 1)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM