判定一个字符串是否为有效时间的函数,为有效时间则返回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;