SQL, el lenguaje que usan las Base de Datos es totalmente independiente de lo que puedas hacer con PHP ó cualquier otro lenguaje.
Cita: YEAR(), MONTH(), DAY() se usan desde SQL, es decir al hacer el select, pero a mi me interesaria desde php
Podrías manejar todo desde PHP extrayendo tu campo DATETIME con su formato original (YYY-MM-DD hh:mm:ss) y haciendo explode()'s, comparaciones y demás para manipular tu resultado y darle formato ó ocuparlo para lo que quieras... no está mal en escencia, pero podría estar mejor; SQL tiene muchas funciones que podrás emplear y que al hacerlo harás más eficiente tu sistema pués dichas funciones te dan un mejor rendimiento ya que fueron pensadas para hacer eso... y no solo con el manejo de fechas, aunque es de lo más ocupado.
La verdad es que las posibilidades son muchas... yo anteriormente hice un "
DATE_FORMAT(fecha,'%d')" porque solo iba a ocupar el día en PHP... hiba a hacer una comparación... ni recuerdo para qué
... Todo dependerá de lo que quieras hacer...
Por ejemplo, por lo que sugieres, supongamos que a mi me intereza manejar la fecha y la hora por separado... además de que quiero darle a la fecha un formato "más entendible"... se me ocurre una sentencia algo así:
Código:
SELECT DATE_FORMAT(campo_fecha, '%d de %M de %Y') AS fecha, RIGHT(campo_fecha, 8) AS hora FROM tabla
Primero doy un formato a un campo_fecha de la forma "día de mes de año" y creo una etiqueta "fecha". Posteriormente extraigo con los 8 carácteres más a la derecha del mismo campo_fecha que significarán la hora (hh:mm:ss)... ya que esta no requiere que le modifique el formato y se lo asigno a una etiqueta "hora".... entonces ya en PHP podré simplemente hacer algo como:
Código PHP:
echo "Fecha: ".$fecha['fecha']."<br>"; // Fecha: dd de Mes de aaaa
echo "Hora: ".$fecha['hora']; // Hora: hh:mm:ss
Solo supuse el hecho que queria manejar la fecha y hora por separado, pude extraer todo junto... ve que es más sencillo que separar, ordenar y demás.. y ve que no necesitas dos campos para manejar la fecha y hora por separados... las opciones son muchas y el resultado es eficiencia...
Te aconsejo leas el artículo que cité:
http://www.mysql-hispano.org/page.php?id=31&pag=6 ... Ve que ya hay "problemas resueltos" que te serán muy útiliez...
Suerte!