支票上需要把日期转换成大写,改怎么?
具体要求如下:
一至九月要写为:零壹、零贰、零叁、零肆、零伍、
零陆、零柒、零捌、零玖
十至十二月写为:壹拾月、壹拾壹月、壹拾贰月
日子照此办理比如2005年8月3日
应写为:贰零零伍年零捌月零叁日
2005年11月22日
应写为:二零零伍年壹拾壹月贰拾贰日
比如函数名为:date_change();
date_change('2005-11-22')--返回结果:二零零伍-壹拾壹-贰拾贰
A:
SQL> create or replace function date_change(in_date in date)
return varchar2 is
v_date varchar2(30);
begin
v_date := to_char(in_date,'yyyy-mm-dd');
v_date := translate(v_date,'0123456789-','零壹贰叁肆伍陆柒捌玖-');
--v_date := replace(v_date,'0','零');
return v_date;
end;
/
函数已创建。
SQL> select date_change(sysdate) from dual;
DATE_CHANGE(SYSDATE)
--------------------------------------------------------------------------------
贰零零捌-零伍-壹壹
SQL>