`
wuhuizhong
  • 浏览: 692553 次
  • 性别: Icon_minigender_1
  • 来自: 中山
社区版块
存档分类
最新评论

用plsql做金額中文数字和阿拉伯数字之间的互相转换

 
阅读更多
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;
 
分享到:
评论

相关推荐

    数字金额转换为中文汉字金额(plsql function)

    数字金额转换为中文汉字金额:例如select num_to_zhs(123456789.54321) from dual; 我们调用该function可以将金额"123456789.54321"转换为“壹亿贰仟叁佰肆拾伍万陆仟柒佰捌拾玖元伍角肆分叁贰壹”。

    PLSQL导出CSV后中文乱码解决办法

    除了以上方法,你还可以尝试其他解决方案,例如在PLSQL Developer工具中直接设置导出时的编码,或者使用第三方工具进行文件转换。例如,可以使用Notepad++这样的文本编辑器打开CSV文件,查看并更改文件编码,然后再...

    plsql中文使用说明

    plsql中文使用说明plsql中文使用说明plsql中文使用说明plsql中文使用说明plsql中文使用说明plsql中文使用说明

    PLSQL英文版转换为中文版

    通过使用中文界面,能够更快地理解和上手,从而提升学习效率。此外,如果遇到任何问题,还可以借助网络资源,如中文社区、教程和论坛,寻求帮助和解答。 最后,记得定期更新PLSQL Developer到最新版本,以获取最新...

    PLSQL语言转换注册表

    在PLSQL中,我们编写存储过程、函数、触发器等数据库对象,它具有丰富的控制结构和异常处理机制,使得数据库操作更加高效和灵活。 在标题“PLSQL语言转换注册表”中,提到的是如何更改PLSQL的显示语言或编码设置。...

    PLSQL Developer9.0.5中文绿色版

    对于中文用户来说,PLSQL Developer的中文界面降低了学习和使用的门槛,使得国内的开发者和数据库管理员能够更加流畅地进行工作。而绿色版则让用户能够在任何计算机上快速启动并使用这个工具,尤其适合在多台机器间...

    plsql 7.0 中文版

    其次,作为Oracle的第三方工具,PLSQL 7.0中文版可能还支持与其他工具和服务的集成,例如报表工具、ETL(提取、转换、加载)工具,以及BI(商业智能)解决方案。这使得用户能够在一个统一的环境中进行数据库开发和...

    PLSQL中文语言包

    总之,"PLSQL中文语言包"为使用中文的开发者提供了一个更友好的开发环境,使得在Oracle数据库管理上使用PLSQL更加顺畅和高效。通过深入学习和实践,开发者可以充分利用PLSQL的强大功能,解决各种复杂的数据库问题。

    PLSQL Developer 绿色中文版

    10. **用户界面**:中文界面对于中国用户来说非常友好,使得所有功能都能清晰易懂,降低了学习和使用的门槛。 PLSQL Developer的绿色版因其便携性和中文支持,特别适合那些希望快速启动开发工作而无需安装额外软件...

    plsql11汉化包

    "plsql11汉化包"正是为了解决这个问题,提供了一个方便的中文语言环境,让用户能够更加舒适地操作和理解PLSQL Developer的各项功能。 PLSQL Developer的汉化过程通常是通过安装汉化包来完成的。"plsql developer 11...

    PLSQL 7.0中文版

    PLSQL 7.0中文版是专门为中文用户设计的一个版本,提供了友好的中文界面和文档,使得中国开发者在使用过程中更加方便。 PLSQL的主要特点包括: 1. **块结构**:PLSQL基于块结构,由声明部分、执行部分和异常处理...

    最新完全中文PLSQL中文版

    这款“最新完全中文PLSQL中文版”显然是针对中文用户设计的,旨在帮助中文使用者更方便地学习和使用PLSQL。 PLSQL的主要特点和组成部分包括: 1. **块结构**:PLSQL程序由一个或多个块组成,每个块包括声明部分、...

    PLSQL Developer 9 中文绿色破解版

    前面做了两版,大家都非常喜欢,这个版本,针对已安装oracle做了自动识别处理,不管你有无安装oracle,都可以直接数据库了,具体帮助查看readme文件。 PLSQL Developer9-GGS 0402版 (更新至Oracle11g2内核) 完美...

    PLSQL Developer 新手中文教程

    PLSQL Developer 新手中文教程 PLSQL Developer 新手中文教程 PLSQL Developer 新手中文教程 PLSQL Developer 新手中文教程 PLSQL Developer 新手中文教程 PLSQL Developer 新手中文教程 PLSQL Developer 新手中文...

    PLSQL Developer7.0中文语言包

    特别是对于中文使用者,PLSQL Developer7.0中文语言包的发布极大地提高了使用体验,使得在处理复杂的数据库任务时可以更加便捷地理解和操作。 PLSQL Developer7.0中文语言包是针对该版本软件进行本地化的重要组件。...

    PLSQL Developer中文和英文版

    PLSQL Developer是一款专为Oracle数据库设计的集成开发环境(IDE),它提供了全面的功能,包括编写、调试、测试和管理PL/SQL代码。这款工具对于Oracle数据库管理员和开发人员来说是必不可少的,因为它简化了数据库...

    PLSQL Developer 7.0.1 中文版

    标题中的“PLSQL Developer 7.0.1 中文版”意味着这个版本已经本地化为中文,对于中文用户来说更加友好,可以方便地理解和使用各项功能,而无需面对语言障碍。 描述中提到“解压后即可使用”,这意味着下载并解压缩...

    plsql快捷插件及中文插件

    plsql快捷插件,下载放入 plsql安装路径的PlugIns文件下就能用,还有中文插件,傻瓜式安装就可以使用,希望能帮助到小伙伴

    plsql 中文语言包

    使用中文语言包后,PL/SQL Developer的菜单、提示信息、错误消息等都会变成中文,这对于不熟悉英文的用户来说,无疑大大降低了使用难度,提高了工作效率。同时,这也体现了软件本地化的价值,使得全球各地的用户都能...

Global site tag (gtag.js) - Google Analytics