發個很簡單的轉換函式,希望各位能繼續向下跟。

foxmile發表於2007-11-09
公司程式出了點問題,導致寫入日期成了英文,自己寫了個函式轉換了一下,下面是函式的指令碼,希望大家可以再向下跟,比如中文轉為英文。日期的其他自定義函式。主要是可以共享大家自己的指令碼。共同學習。
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部落格 ” ,連結:http://blog.itpub.net/79499/viewspace-417607/,如需轉載,請註明出處,否則將追究法律責任。

相關文章