Ver Mensaje Individual
  #4 (permalink)  
Antiguo 01/06/2015, 13:03
Avatar de huesos52
huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 9 meses
Puntos: 360
Respuesta: Error ora-00904

Yo te recomiendo hacerlo de esta forma

Código SQL:
Ver original
  1. CREATE OR REPLACE FUNCTION UF_ANHO_BISIESTO (
  2. anho IN varchar2 ) RETURN varchar2
  3. IS
  4. v_fecha DATE;
  5. retorna VARCHAR2(1);
  6. BEGIN
  7.   BEGIN
  8.     v_fecha := TO_DATE(anho||'0229','YYYYMMDD');
  9.     retorna := '1';
  10.   exception WHEN others THEN
  11.     retorna := '0';
  12.   END;
  13.   RETURN retorna;  
  14. END;
  15. /

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
__________________
Without data, You are another person with an opinion.
W. Edwads Deming