domingo, 2 de febrero de 2014

Año bisiesto en Oracle.

Hoy expondré una función para determinar si un año es bisiesto en Oracle. Si tienen dudas acerca del algoritmo. Lo pueden checar el mi artículo de año bisiesto en Sql server.
CREATE OR REPLACE FUNCTION esBisiesto(fecha DATE)
RETURN NUMBER
AS
 esBisiesto NUMBER(1,0) := 0;
 anio NUMBER(4,0) := TO_NUMBER(TO_CHAR(fecha, 'YYYY'),'9999'); --Extrae el anio
BEGIN

 IF anio MOD 4 = 0 AND (anio MOD 100 <> 0 OR anio MOD 400 = 0)
    THEN
  esBisiesto := 1;
    END IF;
    RETURN esBisiesto;
END;

No hay comentarios: