Elegir el Tipo de Dato Fecha Apropiado

11/07/2008 - 17:58 por Emerson | Informe spam
Hola a Todos:
Bueno resulta que he leido que para manejar el tipo de datos fechas de SQL
es mejor manejarlo con dato ANSI (yyyymmdd), el cual nos evita muchos
problemas, mi pregunta es, que tipo de datos debe tener la tabla para que
esta opcion de manejar dicho tipo de dato sea la mas optima, o sea si creo
una tabla qeu tipo de datos debo asignarle al campo Fecha, varchar(8),
char(8), datetime, para que esta columna Fecha trabaje con el dato ANSI que
le voy a comparar. No se si me explique bien pero le pongo un pequeño
ejemplo:

Select Col1, Col2, Col3
From MiTabla
Where ColFecha='yyyymmdd'

Donde: Colfecha es un campo que almacena un tipo de dato fecha, que tipo
deberiade ser? varchar(8), char(8), datetime?? y por que, cual seria la
diferencia el uno del otro campo a asignarle.


*Uso SQL2000 SP4, WinXP
Y Como seria el mismo tema si Trabajaria con SQL 2005.


Saludos Coordiales y Gracias de Antemano a Todos

Emerson Q.
 

Leer las respuestas

#1 Jhonny Vargas P.
11/07/2008 - 18:09 | Informe spam
Hola Emerson,

Para esto existe "datetime" para almacenar una fecha, la forma en que
insertas o muestras al usuario esta información no tiene nada que ver en
como la almacenes.

Para hacer búsquedas sobre estos campos puedes usar el formato iso yyyymmdd
ejemplo: select campo1, campo2 from tabla where campofecha = '20080626'

Cuando devuelves una fecha, en tu aplicación le das el formato que quieras,
si considerás el idioma, nacionalidad,lo que sea.

Saludos,
Jhonny Vargas P.




"Emerson" escribió en el mensaje de
noticias:#$
Hola a Todos:
Bueno resulta que he leido que para manejar el tipo de datos fechas de SQL
es mejor manejarlo con dato ANSI (yyyymmdd), el cual nos evita muchos
problemas, mi pregunta es, que tipo de datos debe tener la tabla para que
esta opcion de manejar dicho tipo de dato sea la mas optima, o sea si creo
una tabla qeu tipo de datos debo asignarle al campo Fecha, varchar(8),
char(8), datetime, para que esta columna Fecha trabaje con el dato ANSI
que le voy a comparar. No se si me explique bien pero le pongo un pequeño
ejemplo:

Select Col1, Col2, Col3
From MiTabla
Where ColFecha='yyyymmdd'

Donde: Colfecha es un campo que almacena un tipo de dato fecha, que tipo
deberiade ser? varchar(8), char(8), datetime?? y por que, cual seria la
diferencia el uno del otro campo a asignarle.


*Uso SQL2000 SP4, WinXP
Y Como seria el mismo tema si Trabajaria con SQL 2005.


Saludos Coordiales y Gracias de Antemano a Todos

Emerson Q.

Preguntas similares