日期格式转换oracle,oracle的日期格式转换

CREATE OR REPLACE FUNCTION F_IRT_DATE_YYYYMMDD(ENTER VARCHAR2)

/****

*生效日期的格式为YYYYMMDD,输入日期格式为:16-JUL-15( 日期-月份-年)

*例如:20151231

*

*

****/

RETURN VARCHAR2 IS

NIENDATE DATE;

NUM VARCHAR2(3);

INPUT_CHAR VARCHAR2(32) := ENTER;

BEGIN

/*

JAN-01

FEB-02

MAR-03

APR-04

MAY-05

JUN-06

JUL-07

AUG-08

SEP-09

OCT-10

NOV-11

DEC-12

*/

SELECT SUBSTR(INPUT_CHAR,4,3) INTO NUM FROM DUAL;

IF NUM = ‘JAN‘ THEN

NIENDATE := TO_DATE(‘20‘||SUBSTR(INPUT_CHAR,8,2)||‘01‘||SUBSTR(INPUT_CHAR,1,2),‘YYYYMMDD‘);

ELSIF NUM = ‘FEB‘ THEN

NIENDATE := TO_DATE(‘20‘||SUBSTR(INPUT_CHAR,8,2)||‘02‘||SUBSTR(INPUT_CHAR,1,2),‘YYYYMMDD‘);

ELSIF NUM = ‘MAR‘ THEN

NIENDATE := TO_DATE(‘20‘||SUBSTR(INPUT_CHAR,8,2)||‘03‘||SUBSTR(INPUT_CHAR,1,2),‘YYYYMMDD‘);

ELSIF NUM = ‘APR‘ THEN

NIENDATE := TO_DATE(‘20‘||SUBSTR(INPUT_CHAR,8,2)||‘04‘||SUBSTR(INPUT_CHAR,1,2),‘YYYYMMDD‘);

ELSIF NUM = ‘MAY‘ THEN

NIENDATE := TO_DATE(‘20‘||SUBSTR(INPUT_CHAR,8,2)||‘05‘||SUBSTR(INPUT_CHAR,1,2),‘YYYYMMDD‘);

ELSIF NUM = ‘JUN‘ THEN

NIENDATE := TO_DATE(‘20‘||SUBSTR(INPUT_CHAR,8,2)||‘06‘||SUBSTR(INPUT_CHAR,1,2),‘YYYYMMDD‘);

ELSIF NUM = ‘JUL‘ THEN

NIENDATE := TO_DATE(‘20‘||SUBSTR(INPUT_CHAR,8,2)||‘07‘||SUBSTR(INPUT_CHAR,1,2),‘YYYYMMDD‘);

ELSIF NUM = ‘AUG‘ THEN

NIENDATE := TO_DATE(‘20‘||SUBSTR(INPUT_CHAR,8,2)||‘08‘||SUBSTR(INPUT_CHAR,1,2),‘YYYYMMDD‘);

ELSIF NUM = ‘SEP‘ THEN

NIENDATE := TO_DATE(‘20‘||SUBSTR(INPUT_CHAR,8,2)||‘09‘||SUBSTR(INPUT_CHAR,1,2),‘YYYYMMDD‘);

ELSIF NUM = ‘OCT‘ THEN

NIENDATE := TO_DATE(‘20‘||SUBSTR(INPUT_CHAR,8,2)||‘10‘||SUBSTR(INPUT_CHAR,1,2),‘YYYYMMDD‘);

ELSIF NUM = ‘NOV‘ THEN

NIENDATE := TO_DATE(‘20‘||SUBSTR(INPUT_CHAR,8,2)||‘11‘||SUBSTR(INPUT_CHAR,1,2),‘YYYYMMDD‘);

ELSIF NUM = ‘DEC‘ THEN

NIENDATE := TO_DATE(‘20‘||SUBSTR(INPUT_CHAR,8,2)||‘12‘||SUBSTR(INPUT_CHAR,1,2),‘YYYYMMDD‘);

END IF;

RETURN(NIENDATE);

END F_IRT_DATE_YYYYMMDD;

原文:http://www.cnblogs.com/qadyyj/p/5416065.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值