通过to_char()函数的FM999,999,990.00格式化金额方式,可以将其中的逗号根据需要多设置几个,再将对应数量的逗号通过REPLACE()函数替换为需要的汉字即可
SELECT 9876543.21,
to_char(9876543.21, 'FM999,999,990.00'),
REPLACE(to_char(9876543.21, 'FM99999,,9990.00'), ',,', '万'),
REPLACE(REPLACE(REPLACE(REPLACE(to_char(9876543.21, 'FM99999,,,,,9,,,,9,,,9,,0.00'), ',,,,,', '万'), ',,,,', '千'), ',,,', '百'), ',,', '十')
FROM dual;
格式化结果
1 | 9876543.21 | 9,876,543.21 | 987万6543.21 | 987万6千5百4十3.21 |