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

你可能感兴趣的:(orcale)