使用SQL格式化十进制

时间:2013-07-29 21:52:29

标签: sql casting number-formatting

如何格式化0731到07.31这样的数字并保持前导0。 我正在运行此查询,它可以工作,但它删除了我想保留的前导0。

CAST(CAST(proc_P AS decimal(4,0))/100 AS Decimal(4,2))

2 个答案:

答案 0 :(得分:1)

试试这个:

select proc_P,RIGHT('000'+CAST(CAST((CAST(proc_P as decimal(4,0))/100) as decimal(4,2)) as VARCHAR(5)),5)
from test

SQLFiddle:http://www.sqlfiddle.com/#!3/69b09/13

答案 1 :(得分:0)

假设proc_P是varchar(前导0),请尝试:

SELECT LEFT(proc_P, LEN(proc_P) - 2) + '.' + RIGHT(proc_P,2)