12
返回列表 发新帖
楼主: xinyuliu

请问如何将日期转换成中文

[复制链接]
论坛徽章:
2
ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:442009日食纪念
日期:2009-07-22 09:30:00
11#
 楼主| 发表于 2007-6-13 11:08 | 只看该作者
有找到吗

使用道具 举报

回复
论坛徽章:
164
技术图书徽章
日期:2018-12-26 10:01:29指数菠菜纪念章
日期:2013-06-28 17:41:29蛋疼蛋
日期:2013-04-03 16:29:52指数菠菜纪念章
日期:2013-04-01 15:26:282013年新春福章
日期:2013-02-25 14:51:24指数菠菜纪念章
日期:2013-01-04 11:30:40指数菠菜纪念章
日期:2012-09-29 10:28:42版主6段
日期:2012-05-15 15:24:11指数菠菜纪念章
日期:2012-03-31 14:04:28茶鸡蛋
日期:2012-03-12 16:56:15
12#
发表于 2007-6-13 13:30 | 只看该作者
最初由 xinyuliu 发布
[B]有找到吗 [/B]


看来好象两位都没有找到吧。

使用道具 举报

回复
论坛徽章:
0
13#
发表于 2007-6-13 23:58 | 只看该作者
百度上有类似的函数,不过都是自己写的,用了枚举的方法,
虽然繁琐,但也实现了功能

使用道具 举报

回复
论坛徽章:
0
14#
发表于 2007-6-25 14:36 | 只看该作者
CREATE OR REPLACE FUNCTION C_word_Format (WK_AMT VARCHAR2) RETURN VARCHAR2 IS
  tp_string1 varchar2(40);
  tp_string2 varchar2(40);
  tp_string3 varchar2(40);
  L_N NUMBER(2);
  L_N1 NUMBER(2);
  L_N2 NUMBER(2);
  L_N3 NUMBER(2);
  T_N NUMBER(2);
  WK_STRING VARCHAR2(80);
  WK_STRING1 VARCHAR2(80);
  WK_AMT1 VARCHAR2(80);
  wk_amt2 number(30);
--
BEGIN
  WK_AMT2:= to_number(WK_AMT);
  tp_string1 := '億萬元';
  tp_string2 := '拾佰仟';
  tp_string3 := '壹貳參肆伍陸柒捌玖';
--
  L_N := LENGTH(TO_CHAR(ROUND(TO_NUMBER(WK_AMT))));
  L_N1 :=  MOD(L_N,4);
  IF TO_NUMBER(WK_AMT) = 0 THEN
     WK_STRING := '零元整';
  ELSE
    wk_string := '整';
  END IF;
  WK_AMT1 := LPAD(WK_AMT,(L_N-L_N1+4),'X');
  L_N2 := 0;
  LOOP
  EXIT WHEN TO_NUMBER(WK_AMT) = 0 OR (L_N2 > ((L_N - L_N1) / 4) And (l_n1 <> 0)) or
            (L_N2 > ((L_N - L_N1 - 4) / 4) and (L_n1 = 0));
  --
  IF (substr(WK_STRING,1,1) <> '萬') THEN
       WK_STRING := substr(tp_string1,3-l_n2,1)||WK_STRING;
  ELSE
       WK_STRING := substr(tp_string1,3-l_n2,1)||
                    substr(WK_STRING,2,l_n-1);
  END IF;
  --
    L_N3 := 1;
    LOOP
    EXIT WHEN (L_N3 > 4 OR
         SUBSTR(WK_AMT1,LENGTH(WK_AMT1)-(L_N2*4+L_N3-1),1) = 'X');
  --
  If SUBSTR(WK_AMT1,LENGTH(WK_AMT1)-(L_N2*4+L_N3-1),1) <> '0' then
  --
       If L_n3 in (2,3,4) then
          WK_STRING := substr(tp_string2,l_n3-1,1)||wk_string;
       end if;
  --
         WK_STRING :=
           substr(tp_string3,
                     to_number(
                        SUBSTR(WK_AMT1,LENGTH(WK_AMT1)-
                                       (L_N2*4+L_N3-1),1)
                              ),1)||WK_STRING;
  --
  else
     IF substr(wk_string,1,1) in
              ('壹','貳','參','肆','伍','陸','柒','捌','玖') then
          WK_STRING := '零'||wk_string;
     end if;
  end if;
      L_N3 := L_N3 + 1;
    END LOOP;
    L_N2 := L_N2 +1;
  END LOOP;
RETURN(WK_STRING);
Exception
   when Value_Error then
        dbms_output.put_line('Invalide Number Input');
        RETURN(WK_amt);
   when others then
        dbms_output.put_line('Some Other errors');
        return(Wk_Amt);
END;
/

使用道具 举报

回复
论坛徽章:
2
ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:442009日食纪念
日期:2009-07-22 09:30:00
15#
 楼主| 发表于 2007-6-25 15:17 | 只看该作者
To  kevin_jing ,繁體中好像只能打出這個 "参"  來
可是銀行不能接受

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表