Ver Mensaje Individual
  #20 (permalink)  
Antiguo 26/05/2009, 08:32
Avatar de huesos52
huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Fecha desde campo Varchar a campo datetime con insert

Mira te dejo todo el procedimiento con tu ejemplo.
Espero te sirva.

Código mysql:
Ver original
  1. mysql> create table tablatemporal(fx_presencial varchar(50));
  2. Query OK, 0 rows affected (0.02 sec)
  3.  
  4. mysql> insert into tablatemporal values('20/02/2001 19:00:00'
  5.     -> );
  6. Query OK, 1 row affected (0.00 sec)
  7.  
  8. mysql> insert into tablatemporal values('20/02/2001 19:00:00');
  9. Query OK, 1 row affected (0.00 sec)
  10.  
  11. mysql> insert into tablatemporal values('20/02/2001 19:00:00');
  12. Query OK, 1 row affected (0.01 sec)
  13.  
  14. mysql> insert into tablatemporal values('20/02/2001 19:00:00');
  15. Query OK, 1 row affected (0.00 sec)
  16.  
  17. mysql> insert into tablatemporal values('20/02/2001 19:00:00');
  18. Query OK, 1 row affected (0.00 sec)
  19.  
  20. mysql> select *from tablatemporal;
  21. +---------------------+
  22. | fx_presencial       |
  23. +---------------------+
  24. | 20/02/2001 19:00:00 |
  25. | 20/02/2001 19:00:00 |
  26. | 20/02/2001 19:00:00 |
  27. | 20/02/2001 19:00:00 |
  28. | 20/02/2001 19:00:00 |
  29. +---------------------+
  30. 5 rows in set (0.00 sec)
  31.  
  32. mysql> create table tblfiltro(fx_presencial date);
  33. Query OK, 0 rows affected (0.00 sec)
  34.  
  35. mysql> alter table tblfiltro modify fx_presencial datetime;
  36. Query OK, 0 rows affected (0.01 sec)
  37. Records: 0  Duplicates: 0  Warnings: 0
  38.  
  39. mysql> insert into tblfiltro select str_to_date(fx_presencial,'%d/%m/%Y %H:%i:%s') from tablatemporal;
  40. Query OK, 5 rows affected (0.01 sec)
  41. Records: 5  Duplicates: 0  Warnings: 0
  42.  
  43. mysql> select *from tblfiltro;
  44. +---------------------+
  45. | fx_presencial       |
  46. +---------------------+
  47. | 2001-02-20 19:00:00 |
  48. | 2001-02-20 19:00:00 |
  49. | 2001-02-20 19:00:00 |
  50. | 2001-02-20 19:00:00 |
  51. | 2001-02-20 19:00:00 |
  52. +---------------------+
  53. 5 rows in set (0.00 sec)
  54.  
  55. mysql>

Con el alter table modifico el tipo de campo de date a datetime.

Creo que es lo que necesitas.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming