CREATE OR REPLACE FUNCTION num2rmb(je NUMBER) RETURN VARCHAR2 IS
result varchar2(100);
i pls_integer;
snum varchar2(20) := ltrim(replace(to_char(abs(je), '9999999999999990.99'), '.'));
len pls_integer := length(snum);
sch varchar2(20) := '零壹贰叁肆伍陆柒捌玖';
sjin varchar2(50) := '分角圆拾佰仟万拾佰仟亿拾佰仟万拾佰仟';
srmb varchar2(100):= '';
num pls_integer;
jin varchar(2);
s_num pls_integer := 0; --'0'起始位置
e_num pls_integer := 0; --'0'结束位置
begin
for i in 1..len loop
num := to_number(substr(snum, i, 1));
if num <> 0 then --非'0'时处理:
if s_num = 0 then
srmb := srmb||substr(sch, num + 1, 1)||substr(sjin, len - i + 1, 1); --前面字符非'0', 正常联接...
else
srmb := srmb|| --否则:
case when s_num = e_num then --前面只有一个'0'
case s_num when 7 then '万' --只处理进位
when 11 then '亿'
when 15 then '万' end
when e_num < 12 then --否则(多个'0'处理)
case when s_num < 7 then '' --万以内..
when s_num < 11 then case when e_num < 8 and s_num < 10 then '万' end
when s_num < 15 then case when e_num < 12 then '亿' end
else '万亿' end
when e_num < 16 and s_num > 14 then '万' end||
case when s_num > 3 and e_num < 3 then '圆零'
when e_num = 3 then '圆'
when e_num not in (7, 11, 15) or s_num - e_num > 2 then '零' end;
srmb := srmb||substr(sch, num + 1, 1)||substr(sjin, len - i + 1, 1);
end if;
s_num := 0;
e_num := 0;
else if s_num = 0 then --当s_num = 0时'0'串起始,
s_num := len - i + 1; --记录开始
e_num := s_num; --各结整位置。
else
e_num := len - i + 1; --否则新的结整位置。
end if;
end if;
end loop;
if s_num <>0 then --此时以'0'结尾
srmb := srmb||
case when s_num = len then '零圆整' --全'0'串,加...
when s_num = 1 or s_num = 2 then '整' --分(1),角(2)后加...
when s_num < 7 or s_num = 10 then '圆整'
when s_num <11 then '万圆整'
when s_num <15 then '亿圆整'
else '万亿圆整' end;
else
srmb := srmb||'整'; --不以'0'结尾,加...
end if;
if je < 0 then
srmb:='负'||srmb;
end if;
RETURN srmb;
end num2rmb;[@more@]

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10086843/viewspace-925106/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/10086843/viewspace-925106/

转贴与JUNSANSI(大小写转换函数Oracle)相关推荐

  1. Excel大小写转换函数

    Excel中的大小写转换函数 (1).转换为全部小写字母:lower函数 (2).转换为全部大写字母:upper函数 (3).转换为首字母大写,其余小写字母:proper函数 三种函数的使用方式,如下 ...

  2. php 英文小写变大写,PHP英文字母大小写转换函数

    例1,每个单词的首字母转换为大写:ucwords() 复制代码 代码示例: $foo = 'hello world!'; $foo = ucwords($foo);             // He ...

  3. R语言大小写转换函数(tolower, toupper, casefold,chartr)实战

    R语言大小写转换函数(tolower, toupper, casefold,chartr)实战 目录 R语言大小写转换函数(tolower, toupper, casefold,chartr)实战 # ...

  4. java 大小写转换函数_不使用Java中的任何库函数将大写转换为小写

    java 大小写转换函数 Given a string and we have to convert it from uppercase to lowercase. 给定一个字符串,我们必须将其从大写 ...

  5. php 清除英文字母,PHP英文字母大小写转换函数小结

    PHP英文字母大小写转换函数小结 发布于 2015-01-23 10:54:41 | 143 次阅读 | 评论: 0 | 来源: 网友投递 PHP开源脚本语言PHP(外文名: Hypertext Pr ...

  6. php 英文小写变大写,PHP_PHP英文字母大小写转换函数小结,每个单词的首字母转换为大写 - phpStudy...

    PHP英文字母大小写转换函数小结 每个单词的首字母转换为大写:ucwords() $foo = 'hello world!'; $foo = ucwords($foo);             // ...

  7. SQL 字母大小写转换函数UPPER()、UCASE()、LOWER()和LCASE()

    1.SQL UPPER()函数 SQL upper()函数字母大小写转换函数,将字母转成大写 - 返回字符串str,根据当前字符集映射的所有字符更改为大写. SQL> SELECT UPPER( ...

  8. php touppercase strtoupper,php大小写转换函数(strtolower、strtoupper)用法介绍

    1,将字符串转换成小写 strtolower函数: 该函数将传入的字符串参数所有的字符都转换成小写,并以小定形式放回这个字符串. 例子: $str = "I want To FLY" ...

  9. C语言函数:tolower()、toupper字符大小写转换函数。

    C语言函数:tolower().toupper字符大小写转换函数. int toupper( int c) int tolower( int c) tolower():将字母转为小写. toupper ...

  10. php大写转为小写,PHP 实现人民币小写转换成大写的方法及大小写转换函数

    php 的 PHP 实现人民币小写转换成大写的方法及大小写转换函数 下面一段代码给大家分享php实现人民币大小写转换的方法,具体代码如下所示: header("charset=utf-8;& ...

最新文章

  1. 续说零拷贝(Zero-Copy) - DMA技术
  2. Lotus Notes 和 Crystal Report 的整合應用
  3. 修改hosts 流畅使用coursera
  4. s7-1200跟mysql_让西门子S7-1200直接连接MySQL数据库!!!
  5. Java throws和throw
  6. php 织梦模板 防盗,织梦DedeCMS模板怎么防盗
  7. mysql查询月份1到31_mysql查询今天、昨天、7天、近30天、本月、上一月 数据
  8. EMC测试项目——辐射骚扰
  9. 爬虫——xpath爬取图片
  10. 现代软件工程 -- 第一周 -- 介绍自己
  11. softmax和sigmod的pytorch这些
  12. Redis总结_实战篇
  13. 大学女生兼职适合做的工作有哪些?这些总有一样适合你
  14. 【anaconda】彻底解决windows下anaconda3占用C盘问题(改了envs、pkgs安装路径依旧占用C盘)
  15. MIT研究人员称他们解决了数据中心网络延迟问题
  16. 微信绑定会员卡服务器出错,会员卡信息更新失败
  17. 惠普暗影精灵4笔记本如何U盘重装系统教学
  18. Android studio占用C盘资源的解决方法
  19. CMU 15-445/645-Note6-执行篇-Query Execution
  20. 【RabbitMQ】什么是RabbitMQ?RabbitMQ有什么用?应用场景有那些?

热门文章

  1. 工作中遇到大小端数据存储格式
  2. 秀动app抢票脚本_面向回家编程!GitHub 标星两万的 quot;Python 抢票教程”,我们先帮你跑了一遍...
  3. 拍牌(沪牌)软件,开源全部代码。有精力可以自己研究然后自用拍牌
  4. 在线matlab,web版,还是挺好用的
  5. Servlet-JSP-课堂笔记
  6. 【工控老马】OPC通讯协议解析-OPC七问
  7. 机器学习入门实战——决策树算法实战Titanic数据集
  8. python pil image_Python PIL的Image模块
  9. 2022-2028年中国现代服务行业企业投资项目指引及机会战略分析报告
  10. centos7.6 安装docker