英文日期转为中文日期

公司的程序员在写代码的时候出了问题,将用户生产环境的一个日期字段改成了英文,无奈之后写个函数刷一下,功能是将英文的日期字段刷新为正常日期。


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;
/

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

转载于:http://blog.itpub.net/79499/viewspace-439/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值