Problema Con Fecha Juliana

19/02/2004 - 19:47 por Marcos Campos A. | Informe spam
Hola Amigos del Grupo!!


Por que Al Aplicar Convert(DateTime,Campo,103) en Una Consulta El Valor
JULIANO 38023.21875 la Fecha me DeVuelve 08-02-2004 5:15:00 Siendo que la
Fecha Correcta seria 06-02-2004 5:15:00

Utilizo SQL SERVER 7.0

¿ Por que Ocurre Esto???

Gracias de Ante Mano..

Saludos

M@rcos

Preguntas similare

Leer las respuestas

#6 Marcos Campos A.
20/02/2004 - 14:00 | Informe spam
Lo Que Pasa es El Valor Juliano lo Probé en Excel y me Devuelve 06-02-2004

Pero el SQL SERVER 08-02-2004

¿?

Saludos




"ulises" escribió en el mensaje
news:1381701c3f735$6dd15ab0$
Cometí el error de sumar 1 más en el año 2004 cuando
todavía no se llega a esa fecha, entonces daría 38023 lo
que indicaría que lo que muestra el SQL es correcto.

¿Porque dices que el valor 06/02/2004 es el correcto?

Saludos,
Ulises

Suena interesante, si lo pruebo en Excel me dice que
debería ser 07/02/2004, ahora si sumamos los dias desde


el
01/01/1900 hasta el 08/02/2004, tenemos que

- sumando 364 por 1900 (que no fue bisiesto) y 365 por
todos los años hasta el 2003 y 39 por los días del 2004
hasta el 8 de febrero da 37988
- sumando los años bisiestos (incluyendo el 2000 que si
fue bisiesto) da 26
- lo que da un total de 38024

y si mis calculos no van mal debería ser entonces el
07/02/2004, lo que indicaría que ¿está errado lo dado por
VB y el SQL?

Voy a seguir averiguando ...

Saludos,
Ulises

Mira Lo Que Pasa es Que la Fecha del Valor Juliano no es


la que Corresponde.


si lo Pruebas desde Visual Basic

Msgbox Format(38023,"DD-MM-YYYY")

Te Devuelve 06-02-2004 (Esta es La Correcta)

SQL SEVER 7.0 Me esta agregando 2 dias

select convert(datetime,38023,103)
2004-02-08 00:00:00 (Esta Fecha es Incorrecta)
(1 row(s) affected

Ese es el Problema..!!!

Espero haberme Explicado Bien
Saludos



"ulises" escribió en el


mensaje
news:136c101c3f721$203e96a0$
Si ejecutas :

select convert(datetime,38023.21875,103)
2004-02-08 05:15:00.000
(1 row(s) affected)

y ejecutas :

SELECT DATEADD(DAY,38023,'19000101')
2004-02-08 00:00:00.000
(1 row(s) affected)

se obtiene el mismo valor, ¿porque dices que debe ser
diferente?.

Saludos,
Ulises


Hola Amigos del Grupo!!


Por que Al Aplicar Convert(DateTime,Campo,103) en Una


Consulta El Valor
JULIANO 38023.21875 la Fecha me DeVuelve 08-02-2004


5:15:00 Siendo que la
Fecha Correcta seria 06-02-2004 5:15:00

Utilizo SQL SERVER 7.0

¿ Por que Ocurre Esto???

Gracias de Ante Mano..

Saludos




.





.



.

Respuesta Responder a este mensaje
#7 ulises
20/02/2004 - 14:55 | Informe spam
Como te explique sumando los dias se ve que es correcto el
dato del SQL, en todo caso es un problema del excel o de
VB.

Saludos,
Ulises

Lo Que Pasa es El Valor Juliano lo Probé en Excel y me


Devuelve 06-02-2004

Pero el SQL SERVER 08-02-2004

¿?

Saludos




"ulises" escribió en el


mensaje
news:1381701c3f735$6dd15ab0$
Cometí el error de sumar 1 más en el año 2004 cuando
todavía no se llega a esa fecha, entonces daría 38023 lo
que indicaría que lo que muestra el SQL es correcto.

¿Porque dices que el valor 06/02/2004 es el correcto?

Saludos,
Ulises

Suena interesante, si lo pruebo en Excel me dice que
debería ser 07/02/2004, ahora si sumamos los dias desde


el
01/01/1900 hasta el 08/02/2004, tenemos que

- sumando 364 por 1900 (que no fue bisiesto) y 365 por
todos los años hasta el 2003 y 39 por los días del 2004
hasta el 8 de febrero da 37988
- sumando los años bisiestos (incluyendo el 2000 que si
fue bisiesto) da 26
- lo que da un total de 38024

y si mis calculos no van mal debería ser entonces el
07/02/2004, lo que indicaría que ¿está errado lo dado por
VB y el SQL?

Voy a seguir averiguando ...

Saludos,
Ulises

Mira Lo Que Pasa es Que la Fecha del Valor Juliano no es


la que Corresponde.


si lo Pruebas desde Visual Basic

Msgbox Format(38023,"DD-MM-YYYY")

Te Devuelve 06-02-2004 (Esta es La Correcta)

SQL SEVER 7.0 Me esta agregando 2 dias

select convert(datetime,38023,103)
2004-02-08 00:00:00 (Esta Fecha es Incorrecta)
(1 row(s) affected

Ese es el Problema..!!!

Espero haberme Explicado Bien
Saludos



"ulises" escribió en el


mensaje
news:136c101c3f721$203e96a0$
Si ejecutas :

select convert(datetime,38023.21875,103)
2004-02-08 05:15:00.000
(1 row(s) affected)

y ejecutas :

SELECT DATEADD(DAY,38023,'19000101')
2004-02-08 00:00:00.000
(1 row(s) affected)

se obtiene el mismo valor, ¿porque dices que debe ser
diferente?.

Saludos,
Ulises


Hola Amigos del Grupo!!


Por que Al Aplicar Convert(DateTime,Campo,103) en Una


Consulta El Valor
JULIANO 38023.21875 la Fecha me DeVuelve 08-02-2004


5:15:00 Siendo que la
Fecha Correcta seria 06-02-2004 5:15:00

Utilizo SQL SERVER 7.0

¿ Por que Ocurre Esto???

Gracias de Ante Mano..

Saludos




.





.



.





.

Respuesta Responder a este mensaje
#8 Javier Loria
20/02/2004 - 15:21 | Informe spam
Hola Marcos:
En realidad el concepto de valor Juliano, no se usa de forma extricta.
El verdadero valor juliano no es NINGUNO de los dos posteados. El valor
juliano del dia "08-02-2004 5:15:00" asumiendo que 08 es del dia y 02 el mes
es: 2,453,043.71875. Este valor cuenta el numero de dias de forma continua
desde el 1 de Enero del ano 4713 ANTES DE CRISTO. Juliano viene de JULIO
CESAR y no tiene relacion con el Papa Gregorio creador de nuestro
calendario.
Como el numero indicado requiere +24 bytes de almacenamiento y la
mayoria de las fechas que cubren no son "interesantes", la mayoria de los
productos usan algun otro numero alterno que sea mas pequeno, Excel usa como
dia 1: 1/Enero/1900 a las 12:00 AM, SQL usa diferentes valores para
smalldatetime y datetime, pero las funciones CAST y CONVERT estandarizan a
el dia 0 al 1/Enero/1900.
Saludos,


Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda.
Marcos Campos A. escribio:
Hola Amigos del Grupo!!


Por que Al Aplicar Convert(DateTime,Campo,103) en Una Consulta El
Valor JULIANO 38023.21875 la Fecha me DeVuelve 08-02-2004 5:15:00
Siendo que la Fecha Correcta seria 06-02-2004 5:15:00

Utilizo SQL SERVER 7.0

¿ Por que Ocurre Esto???

Gracias de Ante Mano..

Saludos


Respuesta Responder a este mensaje
#9 ulises
20/02/2004 - 15:38 | Informe spam
Gracias Javier por la explicación, en todo caso me ha
quedado claro que todo pasa por la fecha base que tome el
producto para su cálculo del valor juliano :)

Saludos,
Ulises

Hola Marcos:
En realidad el concepto de valor Juliano, no se usa


de forma extricta.
El verdadero valor juliano no es NINGUNO de los dos


posteados. El valor
juliano del dia "08-02-2004 5:15:00" asumiendo que 08 es


del dia y 02 el mes
es: 2,453,043.71875. Este valor cuenta el numero de dias


de forma continua
desde el 1 de Enero del ano 4713 ANTES DE CRISTO. Juliano


viene de JULIO
CESAR y no tiene relacion con el Papa Gregorio creador de


nuestro
calendario.
Como el numero indicado requiere +24 bytes de


almacenamiento y la
mayoria de las fechas que cubren no son "interesantes",


la mayoria de los
productos usan algun otro numero alterno que sea mas


pequeno, Excel usa como
dia 1: 1/Enero/1900 a las 12:00 AM, SQL usa diferentes


valores para
smalldatetime y datetime, pero las funciones CAST y


CONVERT estandarizan a
el dia 0 al 1/Enero/1900.
Saludos,


Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda.
Marcos Campos A. escribio:
Hola Amigos del Grupo!!


Por que Al Aplicar Convert(DateTime,Campo,103) en Una




Consulta El
Valor JULIANO 38023.21875 la Fecha me DeVuelve 08-02-




2004 5:15:00
Siendo que la Fecha Correcta seria 06-02-2004 5:15:00

Utilizo SQL SERVER 7.0

¿ Por que Ocurre Esto???

Gracias de Ante Mano..

Saludos


Respuesta Responder a este mensaje
#10 Marcos Campos A.
21/02/2004 - 14:30 | Informe spam
OK Muchas Gracias...!!!


Me Quedo Super Claro Esto!!!

Gracias por Vuestra Paciencia

Saludos




"Javier Loria" escribió en el mensaje
news:
Hola Marcos:
En realidad el concepto de valor Juliano, no se usa de forma extricta.
El verdadero valor juliano no es NINGUNO de los dos posteados. El valor
juliano del dia "08-02-2004 5:15:00" asumiendo que 08 es del dia y 02 el


mes
es: 2,453,043.71875. Este valor cuenta el numero de dias de forma continua
desde el 1 de Enero del ano 4713 ANTES DE CRISTO. Juliano viene de JULIO
CESAR y no tiene relacion con el Papa Gregorio creador de nuestro
calendario.
Como el numero indicado requiere +24 bytes de almacenamiento y la
mayoria de las fechas que cubren no son "interesantes", la mayoria de los
productos usan algun otro numero alterno que sea mas pequeno, Excel usa


como
dia 1: 1/Enero/1900 a las 12:00 AM, SQL usa diferentes valores para
smalldatetime y datetime, pero las funciones CAST y CONVERT estandarizan a
el dia 0 al 1/Enero/1900.
Saludos,


Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda.
Marcos Campos A. escribio:
> Hola Amigos del Grupo!!
>
>
> Por que Al Aplicar Convert(DateTime,Campo,103) en Una Consulta El
> Valor JULIANO 38023.21875 la Fecha me DeVuelve 08-02-2004 5:15:00
> Siendo que la Fecha Correcta seria 06-02-2004 5:15:00
>
> Utilizo SQL SERVER 7.0
>
> ¿ Por que Ocurre Esto???
>
> Gracias de Ante Mano..
>
> Saludos
>
>


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida