Yo te recomiendo hacerlo de esta forma
Código SQL:
Ver originalCREATE OR REPLACE FUNCTION UF_ANHO_BISIESTO (
anho IN varchar2 ) RETURN varchar2
IS
v_fecha DATE;
retorna VARCHAR2(1);
BEGIN
BEGIN
v_fecha := TO_DATE(anho||'0229','YYYYMMDD');
retorna := '1';
exception WHEN others THEN
retorna := '0';
END;
RETURN retorna;
END;
/
Lo que hace es un CAST forzado a fecha del año con el mes de febrero y el dia 29. Si es casteo es correcto, devuelve 1, de lo contrario devuelve 0 controlado por un exception interior.
Saludos