Ver Mensaje Individual
  #8 (permalink)  
Antiguo 09/07/2009, 15:37
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: consultas con sumas

Porque ese no es el formato estándar de almacenamiento en la bases de datos.
Los DBMS almacenan las fechas como flotantes y las interpretan en base a un esquema de representación estandarizado desde hace años (yyyyMMddHHmmss). Este formato permite ordenamientos mucho más simples que los que obtendrías con el otro, ya que solamente debe hacerlo por su valor numerico para obtener los resultados correctos. El formato ddMMyyyy, por su parte, requiere descomposición y análisis por segmentos para realizar la misma tarea.
El problema aquí es que estás confundiendo almacenamiento con representación. ALmacenar almacenas en el estandar yyyyMMdd, pero representar, lo representas de cualquier forma.
Por otro lado, usar un campos separado para el año es innecesario, por cuando el año lo obtienes simplemente de hacer YEAR(campofecha)....
Por eso es que te están diciendo que no necesitas guardarlo por separado.

El agregar un campo a una tabla es usar simplemente la sentencia
Código sql:
Ver original
  1. ALTER TABLE tabla ADD COLUMN nombreDeCampo DATE NOT NULL;
y la que te están dando sirve para convertir el dato ya existente en un campo en un valor DATE y almacenarlo en el otro.
Luego de eso, simplemente eliminas el campo original y listo, ya tienes el dato reformateado y bien útil.

Debes tener en cuenta siempre que, a pesar de que te parezca extraña la forma de almacenar los datos, los DBMS han evolucionado desde hace mucho y si usan esos métodos es porque son los más eficientes para el manejo de datos. Piensa que solamente en transacciones bancarias, la eficiencia de los datos es crítica, y ellos los usan también de ese modo.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)