知识大全 如何在ORACLE中实现人民币大写的转换

Posted 函数

篇首语:没有伞的孩子必须学会努力奔跑。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 如何在ORACLE中实现人民币大写的转换相关的知识,希望对你有一定的参考价值。

如何在ORACLE中实现人民币大写的转换  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  ORACLE在实现报表的功能是很强大的 特别在现实的应用中会经常用到人民币大小写转换的问题 在此我写个函数向大家简单介绍一下 希望和大家一起探讨 以便共同进步! 共同发展!     函数DX_MONEY()    CREATE FUNCTION DX_MONEY  (  MONEY IN NUMBER  )  RETURN VARCHAR AS V_MONEY VARCHAR ( );  RV_MONEY VARCHAR ( );  RV_MONEY VARCHAR ( );  RV_MONEY VARCHAR ( );  V_MONEY VARCHAR ( );  V_MONEY VARCHAR ( );  V_MONEY VARCHAR ( );  V_MONEY VARCHAR ( );  V_MONEY VARCHAR ( );  V_MONEY VARCHAR ( );  V_MONEY VARCHAR ( );  V_MONEY VARCHAR ( );  V_MONEY VARCHAR ( );  V_MONEY VARCHAR ( );  V_MONEY VARCHAR ( );  V_MONEY VARCHAR ( );  V_MONEY VARCHAR ( );  RPV_MONEY VARCHAR ( );  RPV_MONEY VARCHAR ( );  PV_MONEY VARCHAR ( );  PV_MONEY VARCHAR ( );  PV_MONEY VARCHAR ( );  PV_MONEY VARCHAR ( );  PV_MONEY VARCHAR ( );  PV_MONEY VARCHAR ( );  PV_MONEY VARCHAR ( );  PV_MONEY VARCHAR ( );  PV_MONEY VARCHAR ( );  PV_MONEY VARCHAR ( );  PV_MONEY VARCHAR ( );  PV_MONEY VARCHAR ( );  PV_MONEY VARCHAR ( );    BEGIN  V_MONEY :=LTRIM(RTRIM(TO_CHAR(FLOOR(MONEY))));  RV_MONEY :=LTRIM(RTRIM(TO_CHAR(FLOOR(MONEY* ))));  RV_MONEY :=SUBSTR(RV_MONEY LENGTH(RV_MONEY ) );  IF LENGTH(RV_MONEY )> THEN  RV_MONEY :=SUBSTR(RV_MONEY LENGTH(RV_MONEY ) );  ELSE  RV_MONEY := ;  END IF;  V_MONEY :=SUBSTR(V_MONEY LENGTH(V_MONEY ) );  IF LENGTH(V_MONEY ) > THEN  V_MONEY :=SUBSTR(V_MONEY LENGTH(V_MONEY ) );  ELSE V_MONEY := ;  END IF;  IF LENGTH(V_MONEY ) > THEN  V_MONEY :=SUBSTR(V_MONEY LENGTH(V_MONEY ) );  ELSE V_MONEY := ;  END IF;  IF LENGTH(V_MONEY ) > THEN  V_MONEY :=SUBSTR(V_MONEY LENGTH(V_MONEY ) );  ELSE V_MONEY := ;  END IF;  IF LENGTH(V_MONEY ) > THEN  V_MONEY :=SUBSTR(V_MONEY LENGTH(V_MONEY ) );  ELSE V_MONEY := ;  END IF;  IF LENGTH(V_MONEY ) > THEN  V_MONEY :=SUBSTR(V_MONEY LENGTH(V_MONEY ) );  ELSE V_MONEY := ;  END IF;  IF LENGTH(V_MONEY ) > THEN  V_MONEY :=SUBSTR(V_MONEY LENGTH(V_MONEY ) );  ELSE V_MONEY := ;  END IF;  IF LENGTH(V_MONEY ) > THEN  V_MONEY :=SUBSTR(V_MONEY LENGTH(V_MONEY ) );  ELSE V_MONEY := ;  END IF;  IF LENGTH(V_MONEY ) > THEN  V_MONEY :=SUBSTR(V_MONEY LENGTH(V_MONEY ) );  ELSE V_MONEY := ;  END IF;  IF LENGTH(V_MONEY ) > THEN  V_MONEY :=SUBSTR(V_MONEY LENGTH(V_MONEY ) );  ELSE V_MONEY := ;  END IF;  IF LENGTH(V_MONEY ) > THEN  V_MONEY :=SUBSTR(V_MONEY LENGTH(V_MONEY ) );  ELSE V_MONEY := ;  END IF;  IF LENGTH(V_MONEY ) > THEN  V_MONEY :=SUBSTR(V_MONEY LENGTH(V_MONEY ) );  ELSE V_MONEY := ;  END IF;    select DECODE(RV_MONEY 零分 壹分 贰分 参分 肆分 伍分    陆分 柒分 扒分 玖分 ) into rpv_money from dual;  select DECODE(RV_MONEY 零角 壹角 贰角 参角 肆角 伍角    陆角 柒角 扒角 玖角 ) into rpv_money from dual;  select DECODE(V_MONEY 元 壹元 贰元 参元 肆元 伍元    陆元 柒元 扒元 玖元 ) into pv_money from dual;  select DECODE(V_MONEY 壹拾 贰拾 参拾 肆拾 伍拾    陆拾 柒拾 扒拾 玖拾 ) into pv_money from dual;  select DECODE(V_MONEY 壹佰 贰佰 参佰 肆佰 伍佰    陆佰 柒佰 扒佰 玖佰 ) into pv_money from dual;  select DECODE(V_MONEY 壹仟 贰仟 参仟 肆仟 伍仟    陆仟 柒仟 扒仟 玖仟 ) into pv_money from dual;  select DECODE(V_MONEY 万 壹万 贰万 参万 肆万 伍万    陆万 柒万 扒万 玖万 ) into pv_money from dual;  select DECODE(V_MONEY 壹拾 贰拾 参拾 肆拾 伍拾    陆拾 柒拾 扒拾 玖拾 ) into pv_money from dual;  select DECODE(V_MONEY 壹佰 贰佰 参佰 肆佰 伍佰    陆佰 柒佰 扒佰 玖佰 ) into pv_money from dual;  select DECODE(V_MONEY 壹仟 贰仟 参仟 肆仟 伍仟    陆仟 柒仟 扒仟 玖仟 ) into pv_money from dual;  select DECODE(V_MONEY 亿 壹亿 贰亿 参亿 肆亿 伍亿    陆亿 柒亿 扒亿 玖亿 ) into pv_money from dual;  select DECODE(V_MONEY 壹拾 贰拾 参拾 肆拾 伍拾    陆拾 柒拾 扒拾 玖拾 ) into pv_money from dual;  select DECODE(V_MONEY 壹佰 贰佰 参佰 肆佰 伍佰    陆佰 柒佰 扒佰 玖佰 ) into pv_money from dual;  select DECODE(V_MONEY 壹仟 贰仟 参仟 肆仟 伍仟    陆仟 柒仟 扒仟 玖仟 ) into pv_money from dual;  V_MONEY:=PV_MONEY ||PV_MONEY ||PV_MONEY ||PV_MONEY ||PV_MONEY ||  PV_MONEY ||PV_MONEY ||PV_MONEY ||PV_MONEY ||PV_MONEY ||PV_MONEY ||PV_MONEY ||  RPV_MONEY ||RPV_MONEY ;  RETURN (V_MONEY);  END;     执行状况如下:    SQL*Plus: Release Production on 星期二 月 : :     Copyright (c) Oracle Corporation  All rights reserved     连线到:  Oracle i Enterprise Edition Release Production  With the Partitioning option  JServer Release Production    SQL> select dx_money( ) from dual;    DX_MONEY( )     参亿贰仟肆佰肆拾伍万伍佰陆拾柒元扒角玖分     本例的最大数字      以上函数写的比较简单易懂 语法上不一定精简 欢迎大家一起探讨! cha138/Article/program/Oracle/201311/18555

相关参考

知识大全 Java转换大写金额的代码

Java转换大写金额的代码  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  此代码根据网上搜集到的

知识大全 C#实现阿拉伯数字到大写中文的转换

C#实现阿拉伯数字到大写中文的转换  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  ///<

知识大全 delphi编程小写金额转换

  财务软件中总少不了大写的金额表示方式如下为一个简单的小写金额转换为大写的函数其思路简单(可以说烂吧居然利用了位置来转换)但是它却几乎可以无限制的转换只要你能读得出来和写得进去  functionT

知识大全 浅议Oracle中的进制转换

浅议Oracle中的进制转换  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  进制转换是开发中经常

知识大全 在oracle中进行列行转换

  固定列数的行列转换如  studentsubjectgrade         student语文  student数学  s

知识大全 在Oracle中实现数字进制转换完全版

在Oracle中实现数字进制转换完全版  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  以下内容包

知识大全 怎样把Oracle查询转换为SQLServer

怎样把Oracle查询转换为SQLServer  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在

知识大全 oracle中的单引号和双引号

  在Oracle中  双引号的作用是如果创建对象的时候对象名字段名加双引号则表示Oracle将严格区分大小写否则Oracl都默认大写  而单引号则表示这个加了单引号的字段是一个字类似字符串并不区分大

知识大全 ORACLE中的日志值转换成time

ORACLE中的日志值转换成time  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  为了便于在C

知识大全 巧妙转换ORACLE数据库字符集

巧妙转换ORACLE数据库字符集  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在大型数据库管理