1.创建函数

CREATE OR REPLACE FUNCTION LTOU -- 小写金额转换成大写
(
n_LowerMoney IN NUMBER
)
RETURN VARCHAR2
AS
v_LowerStr VARCHAR2(200); -- 小写金额
v_UpperPart VARCHAR2(200);
v_UpperStr VARCHAR2(200); -- 大写金额
BEGIN
v_LowerStr := LTRIM(RTRIM(TO_CHAR(ROUND(n_LowerMoney,2),'9999999999990.99')));
IF SUBSTR(v_LowerStr,1,1) = '#' THEN
RETURN '转换金额超过计算范围(计算范围为:计算范围为: 0 - 9,999,999,999,990.99)';
END IF;
FOR I IN 1 .. LENGTH(v_LowerStr) LOOP
SELECT DECODE(SUBSTR(v_LowerStr,LENGTH(v_LowerStr) - I + 1,1),
'.','元',
'0','零', '1','壹', '2','贰', '3','叁', '4','肆',
'5','伍', '6','陆', '7','柒', '8','捌', '9','玖')||
DECODE(I,1,'分',2,'角',3,NULL,4,NULL,5,'拾',6,'佰',7,'仟',8,'万',
9,'拾',10,'佰',11,'仟',12,'亿',13,'拾',14,'佰',15,'仟',16,'万',NULL)
INTO v_UpperPart FROM DUAL;
v_UpperStr := v_UpperPart||v_UpperStr;
END LOOP;v_UpperStr := REPLACE(v_UpperStr,'零拾','零');
v_UpperStr := REPLACE(v_UpperStr,'零佰','零');
v_UpperStr := REPLACE(v_UpperStr,'零仟','零');
v_UpperStr := REPLACE(v_UpperStr,'零零零','零');
v_UpperStr := REPLACE(v_UpperStr,'零零','零');
v_UpperStr := REPLACE(v_UpperStr,'零角零分','整');
v_UpperStr := REPLACE(v_UpperStr,'零分','整');
v_UpperStr := REPLACE(v_UpperStr,'零角','零');
v_UpperStr := REPLACE(v_UpperStr,'零亿零万零元','亿元');
v_UpperStr := REPLACE(v_UpperStr,'亿零万零元','亿元');
v_UpperStr := REPLACE(v_UpperStr,'零亿零万','亿');
v_UpperStr := REPLACE(v_UpperStr,'零万零元','万元');
v_UpperStr := REPLACE(v_UpperStr,'万零元','万元');
v_UpperStr := REPLACE(v_UpperStr,'零亿','亿');
v_UpperStr := REPLACE(v_UpperStr,'零万','万');
v_UpperStr := REPLACE(v_UpperStr,'零元','元');
v_UpperStr := REPLACE(v_UpperStr,'零零','零');-- 对壹元以下的金额的处理
v_UpperStr := LTRIM(LTRIM(LTRIM(LTRIM(v_UpperStr,'元'),'零'),'角'),'分');
IF SUBSTR(v_UpperStr,1,1) = '整' THEN
v_UpperStr := '零元整';
END IF;
RETURN v_UpperStr;
EXCEPTION WHEN OTHERS THEN
RETURN '发生错误: '||SQLCODE||'--'||SQLERRM;
END LTOU;

2.调用函数

SELECT LTOU(745.25) FROM dual;

查询结果:柒佰肆拾伍元贰角伍分

Oracle 小写金额转换为大写金额相关推荐

  1. 人民币 小写金额转换为大写金额

    人民币 小写金额转换为大写金额 标签(空格分隔): 人民币 小写金额转换为大写金额 jsp: div class="form-group"> <label class= ...

  2. 小写金额转换为大写金额JS方法

    /**  *function: 小写金额转换为大写金额  *return: 转换后的大写金额,类型String */ function money2Cn(str){  var temp = parse ...

  3. 将小写金额转换为大写金额

    /* 运行环境:MS-SQL 2000 将小写金额转换为大写金额 整数部分最大值:9位数 小数部分最大值:2位 必须格式:整数.小数 状态:完成 Update date:2007-10-07 */ / ...

  4. oracle人民币转大写,Oracle 小写金额转换为大写

    在开发EBS的合同报表打印的时候需要将小写金额转换为大写. 如下是本人自己写的转换函数. 主要思路:先获取小数点位置,在区分整数与小数点处理,根据位数和数字组合读取金额. 最后再处理特殊显示部分. / ...

  5. c语言字符串大写金额,小写金额转换为大写金额(C实现)

    零", "壹", "贰", "叁", "肆", "伍", "陆", & ...

  6. JQuery 数字金额转换为大写金额

    web JQuery 数字金额转换为大写金额 网址:https://blog.csdn.net/qq_36894527/article/details/80675658 function Arabia ...

  7. 人民币小写金额转大写金额

    #region 人民币小写金额转大写金额/// <summary>/// 小写金额转大写金额/// </summary>/// <param name="Mon ...

  8. JS人民币小写金额转换为大写(没毛病)

    /** * 人民币小写金额转换为大写 */ export const digitUppercase = (n) => {let fraction = ['角', '分'] let digit = ...

  9. #小写金额转大写金额

    小写金额转大写金额 闲话不多说,直接上代码: function num_to_rmb($num){ $c1 = "零壹贰叁肆伍陆柒捌玖";$c2 = "分角元拾佰仟万拾佰 ...

  10. C#实现小写金额转大写金额

    最近项目上用到小写转大写金额,公司同事还准备写一段代码来实现,后来发现架构上有现成的. 其实在银行.进销存.CRM等系统中经常可能用到 这个跟大家分享一下: 小写金额转大写 /// <summa ...

最新文章

  1. iOS开发网络篇—NSURLConnection基本使用
  2. IIS6.0下配置HTTP Gzip压缩 提高iis相应速度
  3. Let‘s Play Curling 二分,lower_bound(2020.12.南京)
  4. 【qduoj - 夏季学期创新题】骑士游历(递推dp)
  5. java gps 距离计算_Java教程之地图中计算两个GPS坐标点的距离
  6. 菜鸟——首个页面——奇葩问题
  7. 图神经网络将成AI下一拐点!MIT斯坦福一文综述GNN到底有多强
  8. spark结构化流保存mysql_[Spark]-结构化流之输出篇(待重修)
  9. 嵌入式课程 之 霍尔传感器(编码器)实验
  10. 如何成为一名数据分析师
  11. 批处理中 %~d0 cd %~dp0 的含义
  12. Word中公式输入的快捷键
  13. ES6三种暴露方法详解
  14. bitcoin中私钥、公钥、钱包地址之间的关系
  15. 产品生命周期和项目生命周期
  16. 企业微信java开发demo_微信企业号demo
  17. 作业二:wireshark抓包与ping操作
  18. 关于接入新浪微博第三方登录
  19. 2022亚太杯建模C题思路 : 是否全球变暖?小美赛数学建模 C题思路
  20. 放弃全职工作,出来成为”自由职业者”的利和弊

热门文章

  1. 13 集成测试之自顶向下集成测试方法
  2. 用于热水器行业气密性检测的五款快速密封接头
  3. 华东理工大学本科毕业论文答辩和论文选题PPT模板
  4. 手机把网页保存为html,怎么保存整个网页
  5. Excel-快捷键的使用方法
  6. 自动化测试工程师简历模板
  7. 下次跳槽该去哪?国内AGV厂家区域分布
  8. ce修改器我的世界服务器,ce修改器怎么修改金钱?ce修改器无限金钱图文教程
  9. tcpClient的使用
  10. babyion 加载obj模型_如何使用BabylonJS加载OBJ或STL模型