版权声明:本文为博主原创文章,欢迎大家转载交流。 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;
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;