ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 发个很简单的转换函数,希望各位能继续向下跟。

发个很简单的转换函数,希望各位能继续向下跟。

原创 Linux操作系统 作者:foxmile 时间:2007-11-09 20:20:22 0 删除 编辑
公司程序出了点问题,导致写入日期成了英文,自己写了个函数转换了一下,下面是函数的脚本,希望大家可以再向下跟,比如中文转为英文。日期的其他自定义函数。主要是可以共享大家自己的脚本。共同学习。
Create Or Replace Function En_To_Ch(En_Date String) Return Varchar2 Is
  Ch_Date Varchar2(400);
  /***************************************************************************************************
  *
  *根据英文日期时间返回中文日期时间
  *   2007-11-09 by zero
  ***************************************************************************************************/

  --数组变量--
  Ch_Year      Varchar2(20); --年度
  Ch_Month     Varchar2(20); --月份
  Ch_Day       Varchar2(20); --日期
  Ch_Time      Varchar2(20); --时间
  Loc_Timezone Varchar2(10); --时区
  Ch_Week      Varchar2(42); --星期
Begin

  Select To_Char(Substr(En_Date, -4)) Into Ch_Year From Dual;
  Select To_Char(Decode(Substr(En_Date, 5, 3),
                        'Jan',
                        '01',
                        'Feb',
                        '02',
                        'Mar',
                        '03',
                        'Apr',
                        '04',
                        'May',
                        '05',
                        'Jun',
                        '06',
                        'Jul',
                        '07',
                        'Aug',
                        '08',
                        'Sep',
                        '09',
                        'Dec',
                        '12',
                        'Nov',
                        '11',
                        'Oct',
                        '10'))
    Into Ch_Month
    From Dual;
  Select To_Char(Substr(En_Date, 9, 2)) Into Ch_Day From Dual;
  Select Substr(En_Date, 12, 8) Into Ch_Time From Dual;
  Select To_Char(Substr(En_Date, -4)) Into Ch_Year From Dual;
  Select To_Char(Substr(En_Date, -4)) Into Ch_Year From Dual;
  Select Dbtimezone Into Loc_Timezone From Dual;
  Select Decode(Substr(En_Date, 1, 3),
                'Mon',
                '一',
                'Tue',
                '二',
                'Wed',
                '三',
                'Thu',
                '四',
                'Fri',
                '五',
                'Sat',
                '六',
                'Sun',
                '日')
    Into Ch_Week
    From Dual;
  Select Ch_Year || '-' || Ch_Month || '-' || Ch_Day || ' ' || Ch_Time ||
         ' 星期' || Ch_Week || ' ' || Loc_Timezone || '区'
    Into Ch_Date
    From Dual;
  Return Ch_Date;
End En_To_Ch;
英文的日期:'Fri Nov 02 17:14:53 CDT 2007'

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/79499/viewspace-417607/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2007-12-10

  • 博文量
    106
  • 访问量
    217325