fechas en formato numérico

27/12/2004 - 13:35 por Dani | Informe spam
Estoy trabajando con fechas y las almaceno en un sql server 7.0 mediante un
campo tipo numérico, guardando los valores numéricos de las fechas (p.e.
para el
27/12/2004 guardaríamos 38348).
El problema viene con los 2 últimos días del mes, que con la consulta sql,
pasa las fechas al mes siguiente.
El día 31/12/2004, con su equivalencia 38352 no lo muestra en Diciembre.
Podrá ser un problema de configuración?
Un saludo!!

Preguntas similare

Leer las respuestas

#1 Maxi
27/12/2004 - 13:42 | Informe spam
Hola Dani, como estas conviertiendo los numeros a fechas?


Salu2
Maxi


"Dani" escribió en el mensaje
news:
Estoy trabajando con fechas y las almaceno en un sql server 7.0 mediante
un
campo tipo numérico, guardando los valores numéricos de las fechas (p.e.
para el
27/12/2004 guardaríamos 38348).
El problema viene con los 2 últimos días del mes, que con la consulta sql,
pasa las fechas al mes siguiente.
El día 31/12/2004, con su equivalencia 38352 no lo muestra en Diciembre.
Podrá ser un problema de configuración?
Un saludo!!

Respuesta Responder a este mensaje
#2 Dani
27/12/2004 - 14:01 | Informe spam
Hola Maxi,
El tipo de datos es numeric dentro de la db, he probado en access y no me da
ese problema.
Para realizar las pruebas, utilizo el analizador de sql, y realizo una
sencilla consulta:
SELECT * FROM tablacontactos WHERE month(fechas)= 12 and year(fechas) = 2004
order by fechas

En access, recuperando los datos el 38352 corresponde al 31/12/2004, pero
con el Sql lo pasa para el 02/01/2005




"Maxi" wrote:

Hola Dani, como estas conviertiendo los numeros a fechas?


Salu2
Maxi


"Dani" escribió en el mensaje
news:
> Estoy trabajando con fechas y las almaceno en un sql server 7.0 mediante
> un
> campo tipo numérico, guardando los valores numéricos de las fechas (p.e.
> para el
> 27/12/2004 guardaríamos 38348).
> El problema viene con los 2 últimos días del mes, que con la consulta sql,
> pasa las fechas al mes siguiente.
> El día 31/12/2004, con su equivalencia 38352 no lo muestra en Diciembre.
> Podrá ser un problema de configuración?
> Un saludo!!
>



Respuesta Responder a este mensaje
#3 ulises
27/12/2004 - 15:00 | Informe spam
SQL Server almacena la fecha (en realidad también almacena
otro número por la parte de la hora) como el número de días
que han transcurrido desde el 1/1/1900, revisa en Access
cual es la fecha inicial que considera como punto de partida.

declare @date datetime
set @date = '19000101'
select dateadd(d,38352, @date) as fecha

fecha
2005-01-02 00:00:00.000

(1 row(s) affected)

Saludos,
Ulises

Hola Maxi,
El tipo de datos es numeric dentro de la db, he probado en


access y no me da
ese problema.
Para realizar las pruebas, utilizo el analizador de sql, y


realizo una
sencilla consulta:
SELECT * FROM tablacontactos WHERE month(fechas)= 12 and


year(fechas) = 2004
order by fechas

En access, recuperando los datos el 38352 corresponde al


31/12/2004, pero
con el Sql lo pasa para el 02/01/2005




"Maxi" wrote:

Hola Dani, como estas conviertiendo los numeros a fechas?


Salu2
Maxi


"Dani" escribió en el




mensaje
news:
> Estoy trabajando con fechas y las almaceno en un sql




server 7.0 mediante
> un
> campo tipo numérico, guardando los valores numéricos




de las fechas (p.e.
> para el
> 27/12/2004 guardarà­amos 38348).
> El problema viene con los 2 àºltimos dà­as del mes,




que con la consulta sql,
> pasa las fechas al mes siguiente.
> El dà­a 31/12/2004, con su equivalencia 38352 no lo




muestra en Diciembre.
> Podrà¡ ser un problema de configuración?
> Un saludo!!
>





.

Respuesta Responder a este mensaje
#4 Dani
27/12/2004 - 19:37 | Informe spam
He cambiado la referencia inical a 30/12/1999 para que así corresponda al
mismo valor que en access pero, al lanzar la consulta Sql, no muestra los
resultados.
Intentaré cambiar el formato de fecha y almacenarla en un campo datetime,
por que no se me ocurre otra cosa.
Alguna sugerencia?
Un saludo!!

"ulises" wrote:

SQL Server almacena la fecha (en realidad también almacena
otro número por la parte de la hora) como el número de días
que han transcurrido desde el 1/1/1900, revisa en Access
cual es la fecha inicial que considera como punto de partida.

declare @date datetime
set @date = '19000101'
select dateadd(d,38352, @date) as fecha

fecha
2005-01-02 00:00:00.000

(1 row(s) affected)

Saludos,
Ulises

>Hola Maxi,
>El tipo de datos es numeric dentro de la db, he probado en
access y no me da
>ese problema.
>Para realizar las pruebas, utilizo el analizador de sql, y
realizo una
>sencilla consulta:
>SELECT * FROM tablacontactos WHERE month(fechas)= 12 and
year(fechas) = 2004
> order by fechas
>
>En access, recuperando los datos el 38352 corresponde al
31/12/2004, pero
>con el Sql lo pasa para el 02/01/2005
>
>
>
>
>"Maxi" wrote:
>
>> Hola Dani, como estas conviertiendo los numeros a fechas?
>>
>>
>> Salu2
>> Maxi
>>
>>
>> "Dani" escribió en el
mensaje
>> news:
>> > Estoy trabajando con fechas y las almaceno en un sql
server 7.0 mediante
>> > un
>> > campo tipo numérico, guardando los valores numéricos
de las fechas (p.e.
>> > para el
>> > 27/12/2004 guardarà­amos 38348).
>> > El problema viene con los 2 àºltimos dà­as del mes,
que con la consulta sql,
>> > pasa las fechas al mes siguiente.
>> > El dà­a 31/12/2004, con su equivalencia 38352 no lo
muestra en Diciembre.
>> > Podrà¡ ser un problema de configuración?
>> > Un saludo!!
>> >
>>
>>
>>
>.
>

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