varchar转化date类型(错误返回默认值)的fuction

版权声明:本文为博主原创文章,欢迎大家转载交流。 https://blog.csdn.net/object_bitch/article/details/72236015
create or replace function verifydate(verdate in varchar2) return date
as
/* TITLE      : <P>varchar转date方法</P>    
    * DESCRIPTION: <P>适合字符串长度为8的varchar类型进行校验</P>                        
    * COPYRIGHT  : <P>COPYRIGHT (C) 2017</P>   
    * COMPANY    :   
    * AUTHOR     :   zZBoring       
    * VERSION    : 1.0         
    * DATE       : 2017-05-16       
    */
begin
  --最大时间为99991231  不符合时间格式的返回null
  if 4 <= length(verdate) and '9999' = substr(verdate,0,4) 
     then return to_date('99991231','yyyymmdd');
     else if 8 = length(verdate)
        then return to_date(verdate,'yyyymmdd');
        else return null;
     end if;
  end if;
exception
   WHEN OTHERS THEN 
     return null;

end verifydate;



别名与关键字相同时可以加引号 
SELECT verifydate('99990231') "date" FROM dual;

猜你喜欢

转载自blog.csdn.net/object_bitch/article/details/72236015
今日推荐