CREATE OR REPLACE FUNCTION RIVUS.VALIDATE_CONV_DATE(
P_DATE IN VARCHAR,
P_FORMAT IN VARCHAR := 'YYYY-MM-DD HH24:MI:SS' ,
P_NLS_PARAMTER IN VARCHAR2 := q'{NLS_CALENDAR = 'GREGORIAN'}'
)
RETURN NUMBER
AS
vDate DATE;
BEGIN
vDate := TO_DATE(P_DATE, P_FORMAT, P_NLS_PARAMTER);
RETURN 1;
EXCEPTION
WHEN OTHERS THEN
RETURN 0;
END;
/
VALIDATE_CONV_DATE 使用例
SELECTDECODE(VALIDATE_CONV_DATE(DATE_STR), 1, TO_DATE(DATE_STR), TO_DATE('9999/12/31'))
FROM DATE_STRING ;