CREATE OR REPLACE FUNCTION IS_DATE(str VARCHAR2)
RETURN NUMBER
IS
tmpDT DATE;
BEGIN
tmpDT := TO_DATE(NVL(str, 'kk'), 'YYYY-MM-DD HH24:MI:SS');
RETURN 1;
EXCEPTION
WHEN OTHERS THEN
RETURN 0;
END;
--返回结果=1是合法,返回结果=0是非法
SELECT IS_DATE('2007-04-05') FROM DUAL;
SELECT IS_DATE('55555') FROM DUAL;