Ver Mensaje Individual
  #14 (permalink)  
Antiguo 06/07/2011, 21:08
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: duda de como revertir la fecha a guardar


privatefta: Deberías razonarlo de este modo: Si se diseñaron tipos de dato DATE, DATETIME y TIME específicamente para manejar valores de tiempo, y todas las bases de datos del mundo, incluyendo las bancarias los usan forzosamente debe ser el mejor modo de guardar esos datos. Sino fuese así, todos usarían VARCHAR. ¿No te parece?
Hay razones fundamentales por las que se almacenan así y no como lo has hecho tu (mal) al cambiar un dato perfectamente defindo como DATE por un parche mal pensado en VARCHAR.
Las fechas no se almacenan como caracteres, como tampoco se hace con los números. Se almacenan en sus tipos porque en realidad no se guardan las cifras sino su representación en binario. Por eso un DATETIME usa sólo 8 bytes mientras que la misma fecha, en caracteres necesitará 19 bytes.
Por lo demás, pateketrueke ya te lo ha dicho: Es mucho más sencillo obtener la fecha en su formato ddmm/aaaa simplemente en la consulta (con DATE_FORMAT()), que resolver los problemas que ahora te causará hacer consultas por fechas en tu base, ya que debes considerar que las consultas que hagas no interpretaran lo que guardas como fechas, sino como cadenas de texto, y cuando quieras ordenar, agrupar o seleccionar por rangos, deberás hacer conversiones que solamente te complicarán la vida, y si están mal hechas serán NULL.
O sea: No hagas eso. Pon las columnas como estaban antes y usa las funciones necesarias al momentos de los INSERT para que la fecha entre como "aaaa-mm-dd". Las consultas serán más sencillas.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)