Dudas con datetime y smalldatetime

01/10/2004 - 02:04 por Damon Hill {uy} | Informe spam
Gente:

Tengo dos preguntas:

1.- Resulta que cuando quiero ingresar una hora (ej. '10:30') en un campo SMALLDATETIME me sale un
error informando que no ha sido posible la conversión entre DATETIME y SMALLDATETIME. La solución que
encontré es cambiar el diseño de la tabla a DATETIME. ¿Por qué pasa esto?

2.- Cuando agrego una hora en un campo DATETIME (ej. '10:30') me ingresa '01/01/1900 10:30 AM', esto
es lo que veo por lo menos en el Administrador Corporativo. ¿Puedo ingresar sólo el tiempo y no la
fecha? ¿cómo?

Desde ya muchas gracias por su tiempo.

Saludos!

Mauricio López
Maldonado - Uruguay

Preguntas similare

Leer las respuestas

#1 Miguel Tubia
01/10/2004 - 12:22 | Informe spam
Hola,
bueno no soy un experto, pero voy a intentar echarte un cable.
Lo de las fechas a mi me rompio la cabeza
Sobre la primera, quizás sea por como lo intentas meter la hora, si pudieras
pasar el trozo de consulta... De todos modos, podrías meterlo en una
smalldatetime si al meterlo haces un convert a smalldatetime, pruebalo a
ver.
Sobre la segunda, tienes que meter la fecha y la hora, todo. Si no indicas
todo, por ejemplo solo la hora, te pone la minima fecha posible, en este
caso 01/01/1900, y si pones solo la fecha te pone 00:00. Si solo te interesa
recuperar una parte o hacer comparaciones por fecha, por ejemplo, prueba con
las distintas opciones de convert. Quizas datepart tb te pueda servir.
De todos modos, para grabar solo la hora podrías considerar la opcion de
ponerlo como char(5), quizás te pueda servir. Luego con convert lo puedes
pasar a datetime para poder trabajar con ello si te hace falta.
Espero no haberme liado mucho y haberte echado un cablecillo
Un saludo


"Damon Hill {uy}" (agregar .UY y la H)> escribió en el
mensaje news:%
Mostrar la cita
SMALLDATETIME me sale un
Mostrar la cita
SMALLDATETIME. La solución que
Mostrar la cita
'01/01/1900 10:30 AM', esto
Mostrar la cita
ingresar sólo el tiempo y no la
Mostrar la cita
#2 Maxi
01/10/2004 - 14:22 | Informe spam
Hola, poder podes!! pero porque no nos pasas como estas haciendo el insert
de ese SmallDateTime


Salu2
Maxi
Buenos Aires - Argentina
Desarrollador Microsoft 3 Estrellas .NET
Nunca consideres el estudio como una obligación sino como
una oportunidad para penetrar en el bello y maravillosos
mundo del saber.
- Albert Einstein



"Damon Hill {uy}" (agregar .UY y la H)> escribió en el
mensaje news:%
Mostrar la cita
SMALLDATETIME me sale un
Mostrar la cita
SMALLDATETIME. La solución que
Mostrar la cita
'01/01/1900 10:30 AM', esto
Mostrar la cita
ingresar sólo el tiempo y no la
Mostrar la cita
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.769 / Virus Database: 516 - Release Date: 24/09/2004
#3 ulises
01/10/2004 - 16:29 | Informe spam
1) Si solo estás ingresando la hora te la debería aceptar
ya que asumiría la fecha como 1900-01-01, el mensaje que
indicas lo envía cuando a un tipo smalldate le asignas un
campo datetime que tiene fechas fuera del rango permitido
por el smalldatetime (menor o igual 1899 y mayor a 2079
creo --revisa el BOL--).

2) Si siempre graba fecha y hora, ya que lo que guarda es
un campo compuesto de dos valores enteros de 4 bytes cada
uno (para el datetime), el primero es el número días que
hay desde el 1900-01-01 y el segundo el número de 3.33
milisegundos transcurridos en el día.

Saludos,
Ulises

Mostrar la cita
'10:30') en un campo SMALLDATETIME me sale un
Mostrar la cita
entre DATETIME y SMALLDATETIME. La solución que
Mostrar la cita
qué pasa esto?
Mostrar la cita
'10:30') me ingresa '01/01/1900 10:30 AM', esto
Mostrar la cita
Corporativo. ¿Puedo ingresar sólo el tiempo y no la
Mostrar la cita
#4 Damon Hill {uy}
02/10/2004 - 21:58 | Informe spam
Gracias a los tres, voy a probar nuevamente, ahora con los datos que me dan y les cuento ;-)


Saludos!

Mauricio López
Maldonado - Uruguay
-
1) Si solo estás ingresando la hora te la debería aceptar
ya que asumiría la fecha como 1900-01-01, el mensaje que
indicas lo envía cuando a un tipo smalldate le asignas un
campo datetime que tiene fechas fuera del rango permitido
por el smalldatetime (menor o igual 1899 y mayor a 2079
creo --revisa el BOL--).

2) Si siempre graba fecha y hora, ya que lo que guarda es
un campo compuesto de dos valores enteros de 4 bytes cada
uno (para el datetime), el primero es el número días que
hay desde el 1900-01-01 y el segundo el número de 3.33
milisegundos transcurridos en el día.

Saludos,
Ulises
Ads by Google
Search Busqueda sugerida