create or replace function dx_money
(
money in number
)
return varchar2 as v_money varchar2(150);
rv_money0 varchar2(20);
rv_money1 varchar2(4);
rv_money2 varchar2(4);
v_money0 varchar2(20);
v_money1 varchar2(4);
v_money2 varchar2(4);
v_money3 varchar2(4);
v_money4 varchar2(4);
v_money5 varchar2(4);
v_money6 varchar2(4);
v_money7 varchar2(4);
v_money8 varchar2(4);
v_money9 varchar2(4);
v_money10 varchar2(4);
v_money11 varchar2(4);
v_money12 varchar2(4);
rpv_money1 varchar2(4);
rpv_money2 varchar2(4);
pv_money0 varchar2(14);
pv_money1 varchar2(4);
pv_money2 varchar2(4);
pv_money3 varchar2(4);
pv_money4 varchar2(4);
pv_money5 varchar2(4);
pv_money6 varchar2(4);
pv_money7 varchar2(4);
pv_money8 varchar2(4);
pv_money9 varchar2(4);
pv_money10 varchar2(4);
pv_money11 varchar2(4);
pv_money12 varchar2(4);
begin
v_money0:=ltrim(rtrim(to_char(floor(money))));
rv_money0:=ltrim(rtrim(to_char(floor(money*100))));
rv_money1:=substr(rv_money0,length(rv_money0),1);
if length(rv_money0)>1 then
rv_money2:=substr(rv_money0,length(rv_money0)-1,1);
else
rv_money2:=0;
end if;
v_money1:=substr(v_money0,length(v_money0),1);
if length(v_money0)-1>0 then
v_money2:=substr(v_money0,length(v_money0)-1,1);
else v_money2:=0;
end if;
if length(v_money0)-2>0 then
v_money3:=substr(v_money0,length(v_money0)-2,1);
else v_money3:=0;
end if;
if length(v_money0)-3>0 then
v_money4:=substr(v_money0,length(v_money0)-3,1);
else v_money4:=0;
end if;
if length(v_money0)-4>0 then
v_money5:=substr(v_money0,length(v_money0)-4,1);
else v_money5:=0;
end if;
if length(v_money0)-5>0 then
v_money6:=substr(v_money0,length(v_money0)-5,1);
else v_money6:=0;
end if;
if length(v_money0)-6>0 then
v_money7:=substr(v_money0,length(v_money0)-6,1);
else v_money7:=0;
end if;
if length(v_money0)-7>0 then
v_money8:=substr(v_money0,length(v_money0)-7,1);
else v_money8:=0;
end if;
if length(v_money0)-8>0 then
v_money9:=substr(v_money0,length(v_money0)-8,1);
else v_money9:=0;
end if;
if length(v_money0)-9>0 then
v_money10:=substr(v_money0,length(v_money0)-9,1);
else v_money10:=0;
end if;
if length(v_money0)-10>0 then
v_money11:=substr(v_money0,length(v_money0)-10,1);
else v_money11:=0;
end if;
if length(v_money0)-11>0 then
v_money12:=substr(v_money0,length(v_money0)-11,1);
else v_money12:=0;
end if;
select decode(rv_money1,0,'零分',1,'壹分',2,'贰分',3,'叁分',4,'肆分',5,'伍分',
6,'陆分',7,'柒分',8,'捌分',9,'玖分') into rpv_money1 from dual;
select decode(rv_money2,0,'零角',1,'壹角',2,'贰角',3,'叁角',4,'肆角',5,'伍角',
6,'陆角',7,'柒角',8,'捌角',9,'玖角') into rpv_money2 from dual;
select decode(v_money1,0,'元',1,'壹元',2,'贰元',3,'叁元',4,'肆元',5,'伍元',
6,'陆元',7,'柒元',8,'捌元',9,'玖') into pv_money1 from dual;
select decode(v_money2,0,'',1,'壹拾',2,'贰拾',3,'叁拾',4,'肆拾',5,'伍拾',
6,'陆拾',7,'柒拾',8,'捌拾',9,'玖拾') into pv_money2 from dual;
select decode(v_money3,0,'',1,'壹佰',2,'贰佰',3,'叁佰',4,'肆佰',5,'伍佰',
6,'陆佰',7,'柒佰',8,'捌佰',9,'玖佰') into pv_money3 from dual;
select decode(v_money4,0,'',1,'壹仟',2,'贰仟',3,'叁仟',4,'肆仟',5,'伍仟',
6,'陆仟',7,'柒仟',8,'捌仟',9,'玖') into pv_money4 from dual;
select decode(v_money5,0,'',1,'壹万',2,'贰万',3,'叁万',4,'肆万',5,'伍万',
6,'陆万',7,'柒万',8,'捌万',9,'玖万') into pv_money5 from dual;
select decode(v_money6,0,'',1,'壹拾',2,'贰拾',3,'叁拾',4,'肆拾',5,'伍拾',
6,'陆拾',7,'柒拾',8,'捌拾',9,'玖拾') into pv_money6 from dual;
select decode(v_money7,0,'',1,'壹佰',2,'贰佰',3,'叁佰',4,'肆佰',5,'伍佰',
6,'陆佰',7,'柒佰',8,'捌佰',9,'玖佰') into pv_money7 from dual;
select decode(v_money8,0,'',1,'壹仟',2,'贰仟',3,'叁仟',4,'肆仟',5,'伍仟',
6,'陆仟',7,'柒仟',8,'捌仟',9,'玖仟') into pv_money8 from dual;
select decode(v_money9,0,'',1,'壹亿',2,'贰亿',3,'叁亿',4,'肆亿',5,'伍亿',
6,'陆亿',7,'柒亿',8,'捌亿',9,'玖亿') into pv_money9 from dual;
select decode(v_money10,0,'',1,'壹拾',2,'贰拾',3,'叁拾',4,'肆拾',5,'伍拾',
6,'陆拾',7,'柒拾',8,'捌拾',9,'玖拾') into pv_money10 from dual;
select decode(v_money11,0,'',1,'壹佰',2,'贰佰',3,'叁佰',4,'肆佰',5,'伍佰',
6,'陆佰',7,'柒佰',8,'捌佰',9,'玖佰') into pv_money11 from dual;
select decode(v_money12,0,'',1,'壹仟',2,'贰仟',3,'叁仟',4,'肆仟',5,'伍仟',
6,'陆仟',7,'柒仟',8,'捌仟',9,'玖仟') into pv_money12 from dual;
v_money:=pv_money12||pv_money11||pv_money10||pv_money9||pv_money8||
pv_money7||pv_money6||pv_money5||pv_money4||pv_money3||pv_money2||pv_money1||
rpv_money2||rpv_money1;
return (v_money);
end;
分享到:
相关推荐
Oracle 技术与技巧---数据库高可用,是当前流行数据库优化技巧大全,值得一看
Oracle_DBA手记1-2-数据库诊断案例与性能优化实践.zip
一共两卷,免费提供,请分别下载后再解压...Oracle_DBA手记1-数据库诊断案例与性能优化实践 另有免费下载资源: Oracle_DBA手记3-数据库性能优化与内部原理解析.pdf Oracle_DBA手记2-数据库诊断案例与内部恢复实践.pdf
ORACLE 24.7技术与技巧---数据库高可用
Oracle数据库是全球广泛使用的大型企业级数据库管理系统,其在数据安全性、稳定性以及高可用性方面享有盛誉。"Oracle 24.7技术与技巧---数据库高可用"的主题聚焦于如何确保Oracle数据库系统持续稳定地运行,以实现...
oracle数据库,使用自定义函数,实现了金额的大写转换。sql语句中,直接调用此函数即可得到金额大写。
Oracle_DBA手记1-数据库诊断案例与性能优化实践 Oracle_DBA手记1-数据库诊断案例与性能优化实践 Oracle_DBA手记1-数据库诊断案例与性能优化实践 Oracle_DBA手记1-数据库诊断案例与性能优化实践 另有免费下载资源: ...
在Oracle数据库环境中,有时我们需要将数字金额转换成汉字大写形式,这在财务报表或理财程序中尤为常见,因为汉字大写是财务领域的一种标准表示方式,可以避免因数字混淆而引发的错误。本篇文章将深入探讨如何在...
Oracle 数据库转换为 Mysql 数据库是指将 Oracle 数据库中的数据和结构转换为 Mysql 数据库中,整个过程涉及到多个步骤,包括数据库设计、数据类型转换、sequence 实现等。下面将详细介绍 Oracle 数据库转换为 Mysql...
Oracle_DBA手记1-数据库诊断案例与性能优化实践.pdf
在Oracle数据库环境中,有时我们需要将汉字转换为对应的拼音,以便进行数据分析、索引优化或文本处理等操作。针对这一需求,有一个专门的Oracle Package包,它支持UTF8编码,能够帮助我们实现汉字到拼音的转换。这个...
Oracle Instant Client是Oracle公司提供的一款轻量级的数据库连接工具,它允许用户在不安装完整Oracle客户端的情况下,进行Oracle数据库的连接和操作。这个“oracle 32bit-instantclient-basic-nt-12.1.0.1.0”是...
Oracle 12c 数据库基础教程 - 安装和卸载 Oracle 12c 数据库 本资源摘要信息是关于 Oracle 12c 数据库基础教程的安装和卸载教程,旨在帮助读者了解 Oracle 12c 数据库的安装要求、安装过程、环境变量设置、常用 ...
主要介绍在Oracle数据库服务器系统中实现高可用性的技术途径以及系统性能优化方法,从而为用户提供具有24×7 正常工作时间特点的系统。全书共八个部分,分别从系统需求、软硬件环境、数据库安装与维护、数据库疑难...
您可能感兴趣的文章:常用的Oracle doc命令(收藏)Oracle 多行记录合并/连接/聚合字符串的几种方法Oracle中字符串连接的实现方法php连接oracle数据库及查询数据的方法plsql连接oracle数据库报ora 12154错
基于java的开发源码-Oracle数据库工具 WARTS.zip 基于java的开发源码-Oracle数据库工具 WARTS.zip 基于java的开发源码-Oracle数据库工具 WARTS.zip 基于java的开发源码-Oracle数据库工具 WARTS.zip 基于java的开发...
在Oracle环境中,数据库的创建是通过DBCA(Database Configuration Assistant)工具或SQL*Plus中的脚本完成的。创建过程中,需设定数据库名、实例名、字符集、表空间等基本参数,同时考虑数据库的存储结构和管理策略,...
Oracle实验一--数据库安全管理.docx
要将MySQL数据库转换为Oracle,我们通常会遵循以下步骤: 1. **数据备份**:在转换前,确保对MySQL数据库进行完整备份,以防意外丢失数据。 2. **数据导出**:使用MySQL的`mysqldump`命令,将MySQL数据库的数据和...
VB∕ORACLE学生成绩管理系统--oracle数据库设计报告