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
参考:https://blog.csdn.net/cjx1991/article/details/75969724