Oracle - Algoritmo fechas julianas a gregorianas en Oracle

 
Vista:

Algoritmo fechas julianas a gregorianas en Oracle

Publicado por Ximena (1 intervención) el 16/11/2010 21:51:14
Estimados.

Necesito su ayuda a fin de tener una función que convierta una fecha juliana a gregoriana, pero con sentencias de oracle, para que tome en cuenta los años bisiestos.

Tengo esta función, pero necesito ayuda para que incluya los años bisiestos.

CREATE OR REPLACE FUNCTION TO_JDECHAR (JDE_DATE IN CHAR)
RETURN VARCHAR2
IS
JDE_DATE1 NUMBER(6);
STR_ANNO CHAR(4);
STR_GIORNO CHAR(3);
STR_DATE DATE;
BEGIN
--
IF TO_NUMBER(JDE_DATE) = 0 THEN
JDE_DATE1 := 1;
ELSE
JDE_DATE1 := TO_NUMBER(JDE_DATE);
END IF;
--
STR_ANNO := TO_CHAR(1900 + TO_NUMBER(SUBSTR(LPAD(TO_CHAR(JDE_DATE1), 6, '0'), 1, 3)));
STR_GIORNO := SUBSTR(LPAD(TO_CHAR(JDE_DATE1), 6, '0'), 4, 3);
--
STR_DATE := TO_DATE(STR_ANNO || '-' || STR_GIORNO, 'YYYY-DDD');
--
RETURN(TO_CHAR(STR_DATE, 'DD/MM/YYYY'));
EXCEPTION
WHEN OTHERS THEN
RETURN('01/01/1500');
END TO_JDECHAR;

gracias por la atención
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Algoritmo fechas julianas a gregorianas en Oracle

Publicado por rsc (1 intervención) el 09/10/2011 10:03:13
Por cierto, una curiosidad sobre las DATE en Oracle: Julian Day y el SGBD de Oracle
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar