Oracle时间格式转换异常处理函数
来源:互联网 发布:linux查看目录使用情况 编辑:程序博客网 时间:2024/05/20 18:43
create or replace function F_FORMAT_DATE(v_date varchar2,format varchar)/*时间格式处理格式*/return dateas v_endDate date; v_rn varchar2(2); V_LAST_DATE VARCHAR2(10); Y VARCHAR2(4); M VARCHAR2(4); D VARCHAR2(4); H VARCHAR2(4); MI VARCHAR2(2); S VARCHAR2(2); M_count number; str_date varchar2(20); begin str_date:=v_date; SELECT TO_CHAR(str_date) INTO v_endDate FROM DUAL; RETURN v_endDate; EXCEPTION WHEN OTHERS THEN begin IF v_date IS NULL THEN RETURN ''; END IF; IF LENGTH(TRIM(v_date))<4 THEN RETURN ''; END IF; IF LENGTH(str_date)<14 THEN str_date:=rpad(trim(v_date),14,'0'); ELSIF LENGTH(str_date)>14 THEN str_date:=substr(str_date,1,14); END IF; Y:=SUBSTR(str_date,1,4); M:=SUBSTR(str_date,5,2); D:=SUBSTR(str_date,7,2); H:=SUBSTR(str_date,9,2); MI:=SUBSTR(str_date,11,2); S:=SUBSTR(str_date,13,2); SELECT lengthb(m) into M_COUNT FROM DUAL; IF M_COUNT>2 THEN select to_date(str_date) into v_endDate from dual; return v_endDate; END IF; --获取当年是否润年 select decode(to_char(last_day(trunc(to_date(substr(str_date,1,4)||'0101','yyyy-mm-dd'),'y')+31),'dd'),'29','rn','pn') into v_rn from dual; IF TO_NUMBER(M)>12 THEN M:='12'; ELSIF TO_NUMBER(M)<1 THEN M:='01'; END IF; IF TO_NUMBER(D)<1 THEN D:='01'; ELSIF TO_NUMBER(D)>28 THEN --获取当月的最后一天 SELECT TO_CHAR(last_day(to_date(Y||M||'01','yyyy-mm-dd')),'YYYYMMDD') INTO V_LAST_DATE FROM DUAL; IF TO_NUMBER(SUBSTR(V_LAST_DATE,7,2))<TO_NUMBER(D) THEN D:=SUBSTR(V_LAST_DATE,7,2); END IF; END IF; IF TO_NUMBER(H)>23 THEN H:='23'; ELSIF TO_NUMBER(H)<1 THEN H:='01'; END IF; IF TO_NUMBER(MI)>59 THEN H:='59'; ELSIF TO_NUMBER(MI)<0 THEN MI:='00'; END IF; IF TO_NUMBER(S)>59 THEN S:='59'; ELSIF TO_NUMBER(S)<0 THEN S:='00'; END IF; str_date:=Y||M||D||H||MI||S; --dbms_output.put_line(str_date); select to_date(str_date,'YYYYMMDDHH24MISS') into v_endDate from dual; return v_endDate; EXCEPTION WHEN OTHERS THEN return ''; end;end;
例如:to_date(XXX,‘yyyy-mm-dd’)
- Oracle时间格式转换异常处理函数
- oracle 时间格式转换
- oracle时间格式处理
- 时间格式转换函数
- Oracle中时间日期格式转换及常用日期函数
- 时间格式转换函数convert
- SQLServer 时间函数格式转换
- java时间处理,时间格式转换
- Oracle 默认时间格式 & Date格式转换
- Oracle 默认时间格式 & Date格式转换
- Oracle 默认时间格式 & Date格式转换
- Oracle 默认时间格式 & Date格式转换
- Oracle 默认时间格式 & Date格式转换
- oracle时间处理函数
- 时间格式处理函数大全
- oracle时间格式to_date函数
- oracle 日期转换格式 函数
- oracle 日期转换格式 函数
- Linux内核移植(powerpc)
- 索引属性用作databinding source的语法
- Linux操作系统网络驱动程序编写
- (转)CentOS 5.5 中 Python 升级到 2.6.5
- cognos8.4负载均衡配置
- Oracle时间格式转换异常处理函数
- 本篇将介绍在JNI编程中如何传递参数和返回值
- [整理]MD5加密源码C++
- 从RF、BB、AP、外设4个角度看手机的硬件性能
- 安装Ubuntu 11.04
- 算法题
- C# 中的异常捕捉(try)和异常处理(catch)
- 猛回头 一个华为次老员工中的华为人
- C/C++文件的操作--二进制文件读写