怎么格式化金额项目

tanshihou 2013-10-23 09:13:44
有一个项目定义成了money,想把它转换成char的同时格式化一下
比如
120.00 想格式化成'00000000000120.00'
-120.00想格式化成'-0000000000120.00'

谢谢了
...全文
96 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
lzw_0736 2013-10-23
  • 打赏
  • 举报
回复

DECLARE @i DECIMAL(12,2)
SET @i=-120.00
SELECT 
CASE 
WHEN @i<0 THEN '-'+RIGHT(REPLICATE('0',17)+CAST(ABS(@i) AS VARCHAR(17)),16)
ELSE RIGHT(REPLICATE('0',17)+CAST(@i AS VARCHAR(17)),17)
END
KevinLiu 2013-10-23
  • 打赏
  • 举报
回复
使用REPLICATE产生0 然后加上去 组成字符串
Andy__Huang 2013-10-23
  • 打赏
  • 举报
回复
declare @amt1 decimal,@amt2 decimal,@s varchar(20)
set @amt1=120.0
set @amt2=-120.0
set @s='00000000000000'  -->14位
select right(@s+cast(cast(@amt1 as numeric(12,2)) as varchar),17)
select case when @amt2<0 then '-' else '' end+right(@s+cast(cast(abs(@amt2) as numeric(12,2)) as varchar),17)

/*
00000000000120.00
-00000000000120.00
*/

34,588

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧