需求是这样的。 金额以分为单位 。 比如 : 1000 指的是 10元。
我要将1000 转换为 十元 应考虑更为复杂的情况。。 比如 三百八十元七角四分 请指教
我要将1000 转换为 十元 应考虑更为复杂的情况。。 比如 三百八十元七角四分 请指教
解决方案 »
- 这句SQL为什么是错的?
- ORACLE是不是有这么个BUG
- 初学ORACLE PORTAL,问几个安装的问题
- 请问:sql语句中/*+ first_rows */是干什么的,在什么情况下使用?
- red flag6下安装oracle10g,每次安装到62%时总卡在linking ntcontab这里
- 编码与描述,哪种设计更好
- The Network Adapter could not establish the connectionDSRA0010E
- 大家(特别是高手)都来谈谈自己的ORACLE历程吧,交流经验,相互促进,共同提高!(我散100)
- 请教大家,什么是Brio query 和 Brio insight?
- 请问这个行级触发器怎么写
- proc 动态sql语言的使用 sqlda结构体相关内容
- oracle表默认排序的问题
n number(14):=&n;
ni number(1);
bi number(2);
s varchar(30 char);
type num_typ is varray(10) of char(1 char);
num num_typ:=num_typ(null,'一','二','三','四','五','六','七','八','九');
type bit_typ is varray(14) of char(1 char);
bit bit_typ:=bit_typ('分','角','元','十','百','千','万','十','百','千','亿','十','百','千');
begin
bi:=1;
loop
ni:=mod(n,10);
s:=num(ni+1)||(case when num(ni+1) is not null then bit(bi)
when bit(bi)='元' then '元'
when bit(bi)='万' then '万'
when bit(bi)='亿' then '亿' end)||s;
bi:=bi+1;
n:=floor(n/10);
exit when n=0;
end loop;
-- dbms_output.put_line(s);
s:=regexp_replace(s,'(亿)([一|二|三|四|五|六|七|八|九][万|百|十|元])','\1零\2');
s:=regexp_replace(s,'(万)([一|二|三|四|五|六|七|八|九][百|十|元])','\1零\2');
s:=regexp_replace(s,'(千)([一|二|三|四|五|六|七|八|九][十|元|万|亿])','\1零\2');
s:=regexp_replace(s,'(百)([一|二|三|四|五|六|七|八|九][元|万|亿])','\1零\2');
s:=regexp_replace(s,'^一十','十');
dbms_output.put_line(s);
end;
/