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;
分享到:
相关推荐
数字金额转换为中文汉字金额:例如select num_to_zhs(123456789.54321) from dual; 我们调用该function可以将金额"123456789.54321"转换为“壹亿贰仟叁佰肆拾伍万陆仟柒佰捌拾玖元伍角肆分叁贰壹”。
除了以上方法,你还可以尝试其他解决方案,例如在PLSQL Developer工具中直接设置导出时的编码,或者使用第三方工具进行文件转换。例如,可以使用Notepad++这样的文本编辑器打开CSV文件,查看并更改文件编码,然后再...
plsql中文使用说明plsql中文使用说明plsql中文使用说明plsql中文使用说明plsql中文使用说明plsql中文使用说明
通过使用中文界面,能够更快地理解和上手,从而提升学习效率。此外,如果遇到任何问题,还可以借助网络资源,如中文社区、教程和论坛,寻求帮助和解答。 最后,记得定期更新PLSQL Developer到最新版本,以获取最新...
在PLSQL中,我们编写存储过程、函数、触发器等数据库对象,它具有丰富的控制结构和异常处理机制,使得数据库操作更加高效和灵活。 在标题“PLSQL语言转换注册表”中,提到的是如何更改PLSQL的显示语言或编码设置。...
对于中文用户来说,PLSQL Developer的中文界面降低了学习和使用的门槛,使得国内的开发者和数据库管理员能够更加流畅地进行工作。而绿色版则让用户能够在任何计算机上快速启动并使用这个工具,尤其适合在多台机器间...
其次,作为Oracle的第三方工具,PLSQL 7.0中文版可能还支持与其他工具和服务的集成,例如报表工具、ETL(提取、转换、加载)工具,以及BI(商业智能)解决方案。这使得用户能够在一个统一的环境中进行数据库开发和...
总之,"PLSQL中文语言包"为使用中文的开发者提供了一个更友好的开发环境,使得在Oracle数据库管理上使用PLSQL更加顺畅和高效。通过深入学习和实践,开发者可以充分利用PLSQL的强大功能,解决各种复杂的数据库问题。
10. **用户界面**:中文界面对于中国用户来说非常友好,使得所有功能都能清晰易懂,降低了学习和使用的门槛。 PLSQL Developer的绿色版因其便携性和中文支持,特别适合那些希望快速启动开发工作而无需安装额外软件...
"plsql11汉化包"正是为了解决这个问题,提供了一个方便的中文语言环境,让用户能够更加舒适地操作和理解PLSQL Developer的各项功能。 PLSQL Developer的汉化过程通常是通过安装汉化包来完成的。"plsql developer 11...
PLSQL 7.0中文版是专门为中文用户设计的一个版本,提供了友好的中文界面和文档,使得中国开发者在使用过程中更加方便。 PLSQL的主要特点包括: 1. **块结构**:PLSQL基于块结构,由声明部分、执行部分和异常处理...
这款“最新完全中文PLSQL中文版”显然是针对中文用户设计的,旨在帮助中文使用者更方便地学习和使用PLSQL。 PLSQL的主要特点和组成部分包括: 1. **块结构**:PLSQL程序由一个或多个块组成,每个块包括声明部分、...
前面做了两版,大家都非常喜欢,这个版本,针对已安装oracle做了自动识别处理,不管你有无安装oracle,都可以直接数据库了,具体帮助查看readme文件。 PLSQL Developer9-GGS 0402版 (更新至Oracle11g2内核) 完美...
PLSQL Developer 新手中文教程 PLSQL Developer 新手中文教程 PLSQL Developer 新手中文教程 PLSQL Developer 新手中文教程 PLSQL Developer 新手中文教程 PLSQL Developer 新手中文教程 PLSQL Developer 新手中文...
特别是对于中文使用者,PLSQL Developer7.0中文语言包的发布极大地提高了使用体验,使得在处理复杂的数据库任务时可以更加便捷地理解和操作。 PLSQL Developer7.0中文语言包是针对该版本软件进行本地化的重要组件。...
PLSQL Developer是一款专为Oracle数据库设计的集成开发环境(IDE),它提供了全面的功能,包括编写、调试、测试和管理PL/SQL代码。这款工具对于Oracle数据库管理员和开发人员来说是必不可少的,因为它简化了数据库...
标题中的“PLSQL Developer 7.0.1 中文版”意味着这个版本已经本地化为中文,对于中文用户来说更加友好,可以方便地理解和使用各项功能,而无需面对语言障碍。 描述中提到“解压后即可使用”,这意味着下载并解压缩...
plsql快捷插件,下载放入 plsql安装路径的PlugIns文件下就能用,还有中文插件,傻瓜式安装就可以使用,希望能帮助到小伙伴
使用中文语言包后,PL/SQL Developer的菜单、提示信息、错误消息等都会变成中文,这对于不熟悉英文的用户来说,无疑大大降低了使用难度,提高了工作效率。同时,这也体现了软件本地化的价值,使得全球各地的用户都能...