Campo tipo fecha

30/05/2006 - 16:46 por David Horno | Informe spam
Hola a todos, tengo una duda, ¿hay alguna forma que el campo de tipo
"datetime" solamente almacene la fecha y no la fecha y la hora? ya que me
ahora me almacena por ejemplo, 12/08/1980 12:00:00 AM, y quiero que me
almacene 12/08/1980. Gracias de antemano.

Preguntas similare

Leer las respuestas

#1 David Horno
30/05/2006 - 17:16 | Informe spam
Gracias por la respuesta pero, si por ejemplo en una consulta tengo lo
siguiente:
where Expedido between fecha1 and fecha2, siendo fecha1 y fecha2
variables del tipo date, la consulta no se realiza bien, ¿no?
¿Debo hacer algún formateo especial sobre el campo Expedido como por ejemplo
year, month o day, usando estas tres funciones, no se puede hacer bien un
between ya que si por ejemplo buscas entre el 01/01/2006 y el 01/12/2006 no
se obtienen fechas porque le estas diciendo que el día vaya entre el 1 y el
1.



"Jorge Gonzalez" escribió en el mensaje
news:eQruQr$
Estimado David

Datetime almacena la fecha y la hora siempre. Te toca manejar a vos, en tu
aplicación, la presentación del campo y simplemente hacer caso omiso de la
hora. Si quisieras almacenar la hora en vez de la fecha sería el mismo
caso, pero tendrias que hacer caso omiso de la fecha.

Te recomiendo en tu caso, que evalúes cuidadosamente si en realidad no
vale la pena almacenar la hora. De ser así entonces haz un esfuerzo en tu
aplicación y almacena una hora estándar en todos los registros (12:00 AM
es lo correcto). Esto te evitará problemas serios en el futuro, sobre todo
al hacer comparaciones (por ejemplo un query donde compares el valor
almacenado contra una fecha específica, ya que la hora puede hacer que dos
fechas que parezcan iguales, en realidad no lo sean), pero si te queda la
duda entonces almacena la hora también y el día que la necesites vas a
apreciar no haber perdido esa información, pero tendrás que tener cuidado
en los queries que comparen las fechas ya que como te comenté antes la
diferencia en las horas puede hacer que dos fechas que parecen iguales no
lo sean.

Saludos
Jorge González

"David Horno" escribió en el mensaje
news:uW3Idf$
Hola a todos, tengo una duda, ¿hay alguna forma que el campo de tipo
"datetime" solamente almacene la fecha y no la fecha y la hora? ya que me
ahora me almacena por ejemplo, 12/08/1980 12:00:00 AM, y quiero que me
almacene 12/08/1980. Gracias de antemano.





Respuesta Responder a este mensaje
#2 Isaias
30/05/2006 - 17:29 | Informe spam
Con el permiso de JORGE

El manejo de fechas como parametros en BETWEEN, no son recomendables, ya que
continen horas, minutos y segundos, debes cambiar tu clausula between por >=
y/o <=, lee este articulo del master Maxi.

http://www.mug.org.ar/SQL/ArticSQL/240.aspx
Saludos
IIslas


"David Horno" escribió:

Gracias por la respuesta pero, si por ejemplo en una consulta tengo lo
siguiente:
where Expedido between fecha1 and fecha2, siendo fecha1 y fecha2
variables del tipo date, la consulta no se realiza bien, ¿no?
¿Debo hacer algún formateo especial sobre el campo Expedido como por ejemplo
year, month o day, usando estas tres funciones, no se puede hacer bien un
between ya que si por ejemplo buscas entre el 01/01/2006 y el 01/12/2006 no
se obtienen fechas porque le estas diciendo que el día vaya entre el 1 y el
1.



"Jorge Gonzalez" escribió en el mensaje
news:eQruQr$
> Estimado David
>
> Datetime almacena la fecha y la hora siempre. Te toca manejar a vos, en tu
> aplicación, la presentación del campo y simplemente hacer caso omiso de la
> hora. Si quisieras almacenar la hora en vez de la fecha sería el mismo
> caso, pero tendrias que hacer caso omiso de la fecha.
>
> Te recomiendo en tu caso, que evalúes cuidadosamente si en realidad no
> vale la pena almacenar la hora. De ser así entonces haz un esfuerzo en tu
> aplicación y almacena una hora estándar en todos los registros (12:00 AM
> es lo correcto). Esto te evitará problemas serios en el futuro, sobre todo
> al hacer comparaciones (por ejemplo un query donde compares el valor
> almacenado contra una fecha específica, ya que la hora puede hacer que dos
> fechas que parezcan iguales, en realidad no lo sean), pero si te queda la
> duda entonces almacena la hora también y el día que la necesites vas a
> apreciar no haber perdido esa información, pero tendrás que tener cuidado
> en los queries que comparen las fechas ya que como te comenté antes la
> diferencia en las horas puede hacer que dos fechas que parecen iguales no
> lo sean.
>
> Saludos
> Jorge González
>
> "David Horno" escribió en el mensaje
> news:uW3Idf$
>> Hola a todos, tengo una duda, ¿hay alguna forma que el campo de tipo
>> "datetime" solamente almacene la fecha y no la fecha y la hora? ya que me
>> ahora me almacena por ejemplo, 12/08/1980 12:00:00 AM, y quiero que me
>> almacene 12/08/1980. Gracias de antemano.
>>
>
>



Respuesta Responder a este mensaje
#3 Maxi
30/05/2006 - 17:45 | Informe spam
Hola, si usas SQl2005 podes crear un tipo de datos Hora, si este es tu caso
decime que te paso el ejemplo


Salu2
Maxi [MVP SQL SERVER]
www.sqlgurus.org


"David Horno" escribió en el mensaje
news:uW3Idf$
Hola a todos, tengo una duda, ¿hay alguna forma que el campo de tipo
"datetime" solamente almacene la fecha y no la fecha y la hora? ya que me
ahora me almacena por ejemplo, 12/08/1980 12:00:00 AM, y quiero que me
almacene 12/08/1980. Gracias de antemano.

Respuesta Responder a este mensaje
#4 Nohel Hernández
30/05/2006 - 17:48 | Informe spam
Hola David

Es necesario que el campo definido en la estructura de la tabla sea
Datetime??
porque si lo que necesitas es solo fechas podrias utilizar el SmallDatetime

Saludos...


Nohel Hernández
Caracas - Venezuela
-
El Menos común de los sentidos es el Sentido Común
-
"David Horno" escribió en el mensaje
news:uW3Idf$
Hola a todos, tengo una duda, ¿hay alguna forma que el campo de tipo
"datetime" solamente almacene la fecha y no la fecha y la hora? ya que me
ahora me almacena por ejemplo, 12/08/1980 12:00:00 AM, y quiero que me
almacene 12/08/1980. Gracias de antemano.

Respuesta Responder a este mensaje
#5 David Horno
30/05/2006 - 17:49 | Informe spam
Vale gracias, aclarado.











"Isaias" escribió en el mensaje
news:
Con el permiso de JORGE

El manejo de fechas como parametros en BETWEEN, no son recomendables, ya
que
continen horas, minutos y segundos, debes cambiar tu clausula between por
>> y/o <=, lee este articulo del master Maxi.

http://www.mug.org.ar/SQL/ArticSQL/240.aspx
Saludos
IIslas


"David Horno" escribió:

Gracias por la respuesta pero, si por ejemplo en una consulta tengo lo
siguiente:
where Expedido between fecha1 and fecha2, siendo fecha1 y fecha2
variables del tipo date, la consulta no se realiza bien, ¿no?
¿Debo hacer algún formateo especial sobre el campo Expedido como por
ejemplo
year, month o day, usando estas tres funciones, no se puede hacer bien un
between ya que si por ejemplo buscas entre el 01/01/2006 y el 01/12/2006
no
se obtienen fechas porque le estas diciendo que el día vaya entre el 1 y
el
1.



"Jorge Gonzalez" escribió en el mensaje
news:eQruQr$
> Estimado David
>
> Datetime almacena la fecha y la hora siempre. Te toca manejar a vos, en
> tu
> aplicación, la presentación del campo y simplemente hacer caso omiso de
> la
> hora. Si quisieras almacenar la hora en vez de la fecha sería el mismo
> caso, pero tendrias que hacer caso omiso de la fecha.
>
> Te recomiendo en tu caso, que evalúes cuidadosamente si en realidad no
> vale la pena almacenar la hora. De ser así entonces haz un esfuerzo en
> tu
> aplicación y almacena una hora estándar en todos los registros (12:00
> AM
> es lo correcto). Esto te evitará problemas serios en el futuro, sobre
> todo
> al hacer comparaciones (por ejemplo un query donde compares el valor
> almacenado contra una fecha específica, ya que la hora puede hacer que
> dos
> fechas que parezcan iguales, en realidad no lo sean), pero si te queda
> la
> duda entonces almacena la hora también y el día que la necesites vas a
> apreciar no haber perdido esa información, pero tendrás que tener
> cuidado
> en los queries que comparen las fechas ya que como te comenté antes la
> diferencia en las horas puede hacer que dos fechas que parecen iguales
> no
> lo sean.
>
> Saludos
> Jorge González
>
> "David Horno" escribió en el mensaje
> news:uW3Idf$
>> Hola a todos, tengo una duda, ¿hay alguna forma que el campo de tipo
>> "datetime" solamente almacene la fecha y no la fecha y la hora? ya que
>> me
>> ahora me almacena por ejemplo, 12/08/1980 12:00:00 AM, y quiero que me
>> almacene 12/08/1980. Gracias de antemano.
>>
>
>



Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida