判定一个字符串是否为有效时间的函数

判定一个字符串是否为有效时间的函数,为有效时间则返回1,不是有效时间则返回0.

CREATE OR REPLACE FUNCTION is_date(parameter VARCHAR2) RETURN NUMBER IS
val DATE;
BEGIN
val := TO_DATE(NVL(parameter, 'a'), 'yyyy-mm-dd hh24:mi:ss');
RETURN 1;
EXCEPTION
WHEN OTHERS THEN
RETURN 0;
END;

具体例子,可以直接使用:

alter session force parallel ddl parallel 8;
create table TT as select t.id,
floor(months_between(sysdate,to_date(t.birthday,'yyyymmdd'))/12) age
from TT_WXTRAN t
where is_date(t.birthday)!=0;