Ver Mensaje Individual
  #2 (permalink)  
Antiguo 07/03/2013, 16:57
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: Convertir Fecha Varchar a Date

La primera sugerencia es jamás guardar una fecha en un campo VARCHAR. Con eso solamente te vas a ganar problemas a corto plazo.
Las fechas se deben guardar como DATE, DATETIME o TIMESTAMP, pero nunca como VARCHAR, y menos aún con un formato DD/MM/YYYYY.

Ahora tienes que reconvertir esa "cosa" para que siva, para lo cual deberás usar una función denominada STR_TO_DATE().

El principal consejo que te puedo dar es que lo hagas en forma definitiva, es decir:
1) Agrega una columna de tipo DATE.
Código MySQL:
Ver original
  1. ALTER TABLE tabla ADD COLUMN fecha_nueva DATE;
2) Haz un UPDATE masivo para corregir ese defecto:
Código MySQL:
Ver original
  1. UPDATE fecha_nueva = STR_TO_DATE(fecha, '%d/%m/%Y');
3) Verifica el resultado y luego elimina ese campo mal creado.
Código MySQL:
Ver original
  1. ALTER TABLE tabla DROP COLUMN fecha;
4) Renombra el campo como el anterior:
Código MySQL:
Ver original
  1. ALTER TABLE tabla CHANGE fecha_nueva fecha DATE;
5) Y muy importante: modifica tu aplicación para que inserte las fechas en su correcto formato, así como las consultas para que te las muestre como desees.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)