判定一個字符串是否為有效時間的函數,為有效時間則返回1,不是有效時間則返回0.
1
2
3
4
5
6
7
8
9
|
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 ; |
具體例子,可以直接使用:
1
2
3
4
5
|
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; |