Tengo un atributo en mi DB que es la fecha y la hora, es así:
"2011-05-08 23:30:32"
Es decir, fecha y hora separados por un espacio. Necesito meter la hora o la fecha en otro campo aparte, ¿es posible hacerlo automáticamente con alguna sentencia SQL?
Ah otra cosa, ¿se pueden hacer comparaciones con la hora? 23:30:32 > 23:00:09 y cosas así?
yo lo haría así: suponiendo que tienes los siguientes datos:
mysql> select * from tabla_ejemplo1;
+----+--------+---------+---------------------+
| id | campo1 | campo2 | fecha |
+----+--------+---------+---------------------+
| 1 | valor1 | valor2 | 2011-05-08 20:11:31 |
| 2 | valor3 | valor4 | 2011-05-08 20:19:57 |
| 3 | valor5 | valor6 | 2011-05-08 20:20:05 |
| 4 | valor7 | valor8 | 2011-05-08 20:20:10 |
| 5 | valor9 | valor10 | 2011-05-08 20:20:15 |
+----+--------+---------+---------------------+
uso las funciones LEFT y RIGHT
SELECT campo1, campo2, LEFT((fecha),10) AS dia, RIGHT((fecha),8) AS hora FROM tabla_ejemplo1 WHERE id=3;
devuelve:
+--------+--------+------------+----------+
| campo1 | campo2 | dia | hora |
+--------+--------+------------+----------+
| valor5 | valor6 | 2011-05-08 | 20:20:05 |
+--------+--------+------------+----------+
Ah otra cosa, ¿se pueden hacer comparaciones con la hora? 23:30:32 > 23:00:09 y cosas así?
En ese caso puedes usar
betweenSELECT * FROM tabla_ejemplo WHERE fecha BETWEEN '2010-01-01' AND '2011-01-01';
espero te sirva.