orcale 金额格式化处理

orcale 金额格式化处理

个人认为金额格式的处理,一般情况下前端直接处理就好。之所以在这里写orcale金额处理,主要是因为涉及到了excel导出。两种处理方式,在java代码中处理,感觉这样写太丑了。所以果断选择通过sql处理。

1.准备要操作的表以及数据

CREATE TABLE "TEST"
  ( "TOTAL_MONEY" NUMBER
  ); 
  
Insert into TEST (TOTAL_MONEY) values (11231);
Insert into TEST (TOTAL_MONEY) values (1);
Insert into TEST (TOTAL_MONEY) values (null);

1.1 通过to_char(numbenr,‘format’)函数格式化金额

select to_char(total_money,'FM999,999,999,999,990.00')  from test

//其中 9代表如果存在数字则显示数字,不存在显示空格
//其中 0代表如果存在数字则显示数字,不存在则显示0, 即占位符
//其中 FM代表如果是因为9 带来的空格则删除

查询结果

2.通过nvl函数处理null

如果数据库设计,没有设置默认值,我们需要把null转为0,
nvl(value,value2)
如果value是null,就返回value2,反之就返回value

select to_char(nvl(total_money,0),'FM999,999,999,999,990.00')from test

在这里插入图片描述

3.数据库中存的金额是分,前端需要显示为元。在进行转化的时候需要用到round函数

round(x,y)
y>0,y则为x后需要显示的小数位

SELECT TO_CHAR(ROUND(NVL(total_money,0)/100,2),'FM999,999,999,999,990.00')
FROM test

Alt

参考:https://blog.csdn.net/cjx1991/article/details/75969724

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值