Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Uso del datetime

Estas en el tema de Uso del datetime en el foro de SQL Server en Foros del Web. saludos: al instante de ingresar datos de tipo fecha a mi base de datos me almacena fechas totalmente diferente podrian explicarme por q sucede esto ...
  #1 (permalink)  
Antiguo 01/03/2007, 22:37
Avatar de PIRRUMAN  
Fecha de Ingreso: febrero-2006
Ubicación: Monterrey, Nuevo León
Mensajes: 633
Antigüedad: 18 años, 3 meses
Puntos: 53
Uso del datetime

saludos:

al instante de ingresar datos de tipo fecha a mi base de datos me almacena fechas totalmente diferente podrian explicarme por q sucede esto ....


es decir;;;;;

insert into tabla (nombre,fecha) values('juan perez',20-01-2006);


y en la base de datos almacena ----------juan perez .....y ....... 1900-01-01

tambien probe esta otra opcion ----

insert into tabla (nombre,fecha) values('juan perez',2006-01-01);


y en la base de datos almacena ----------juan perez .....y ....... 1905-05-28



me es confuso puesto q no tienen ni una concordancia estos resultados
les agradezco de antemano
__________________
“Prefiero ser un tonto momentaneo que un eterno ignorante”
“¡El éxito es resultado de los aciertos,los aciertos resultado de la experiencia y la experiencia resultado de los errores!”
  #2 (permalink)  
Antiguo 02/03/2007, 06:17
 
Fecha de Ingreso: marzo-2006
Mensajes: 15
Antigüedad: 18 años, 1 mes
Puntos: 0
De acuerdo Re: Uso del datetime



Hola!

Esto corresponde a la configuración de la base de datos. Considera que existen más de 20 formatos de fecha y generalmente el motor viene (por defecto) con fecha en formato USA.

Para evitar este tipo de problemas te recomiendo que uses el formato ISO, es decir:

insert into tabla (nombre,fecha) values('juan perez','20060120')

Nótese que el motor convierte automágicamente la fecha de '20060120' a 20-01-2006.

La otra alternativa es que utilices CONVERT:

CONVERT ( data_type [ ( length ) ] , expression [ , style ] )

CONVERT ( datetime, '20/01/2006' , 103)
  #3 (permalink)  
Antiguo 05/03/2007, 10:45
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años
Puntos: 25
Re: Uso del datetime

Lo que pasa es que no estás usando un formato adecuado. SQL Server pone la fecha de 1900 porque es su manera de decir "usaste un formato inválido".

El 1900 viene porque intentas ingresar a una fecha el número -1987 ¿por qué? Para probarlo haz esto:
Código:
PRINT 20-01-2006
Ya te han explicado que formatos usar para la fecha.
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
  #4 (permalink)  
Antiguo 16/03/2007, 10:47
Avatar de PIRRUMAN  
Fecha de Ingreso: febrero-2006
Ubicación: Monterrey, Nuevo León
Mensajes: 633
Antigüedad: 18 años, 3 meses
Puntos: 53
Re: Uso del datetime

saludos de nuevo grax por su ayuda resolvi el problema resulto ser un de los problemas basicos de un programador principiante

no puse comillas simples y al parecer esto lo toma no como fecha sino como cadena o algo asi

muy amables y disculpen por la molestia
__________________
“Prefiero ser un tonto momentaneo que un eterno ignorante”
“¡El éxito es resultado de los aciertos,los aciertos resultado de la experiencia y la experiencia resultado de los errores!”
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:10.