DATE_FORMAT(fecha,formato)
Formatea el valor de fecha de acuerdo con la cadena de formato. Se pueden usar los siguientes especificadores para la cadena de formato:
| Especificador | Descripción |
|---|---|
| %M | Nombre del mes (January..December) |
| %W | Nombre de día (Sunday..Saturday) |
| %D | Día del mes con sufijo en inglés (0th, 1st, 2nd, 3rd, etc.) |
| %Y | Año, numérico con 4 dígitos |
| %y | Año, numérico con 2 dígitos |
| %X | Año para la semana donde el domingo es el primer día de la semana, numérico de 4 dígitos; usado junto con %V |
| %x | Año para la semana donde el lunes es el primer día de la semana, numérico de 4 dígitos; usado junto con %v |
| %a | Nombre de día de semana abreviado (Sun..Sat) |
| %d | Día del mes, numérico (00..31) |
| %e | Día del mes, numérico (0..31) |
| %m | Mes, numérico (00..12) |
| %c | Mes, numérico (0..12) |
| %b | Nombre del mes abreviado (Jan..Dec) |
| %j | Día del año (001..366) |
| %H | Hora (00..23) |
| %k | Hora (0..23) |
| %h | Hora (01..12) |
| %I | Hora (01..12) |
| %l | Hora (1..12) |
| %i | Minutos, numérico (00..59) |
| %r | Tiempo, 12-horas (hh:mm:ss seguido por AM o PM) |
| %T | Tiempo, 24-horas (hh:mm:ss) |
| %S | Segundos (00..59) |
| %s | Segundos (00..59) |
| %f | Microsegundos (000000..999999) |
| %p | AM o PM |
| %w | Día de la semana (0=Sunday..6=Saturday) |
| %U | Semana (00..53), donde el domingo es el primer día de la semana |
| %u | Semana (00..53), donde el lunes es el primer día de la semana |
| %V | Semana (01..53), donde el domingo es el primer día de la semana; usado con %X |
| %v | Semana (01..53), donde el lunes es el primer día de la semana; usado con %X |
| %% | Un '%' literal. |
El resto de los caracteres se copian tal cual al resultado sin interpretación. El especificador de formato %f está disponible desde MySQL 4.1.1. Desde MySQL 3.23, se requiere el carácter '%' antes de los caracteres de especificación de formato. En versiones de MySQL más antiguas, '%' era opcional. El motivo por el que los rangos de meses y días empiecen en cero es porque MySQL permite almacenar fechas incompletas como '2004-00-00', desde MySQL 3.23.
mysql> SELECT DATE_FORMAT('1997-10-04 22:23:00', '%W %M %Y');
+------------------------------------------------+
| DATE_FORMAT('1997-10-04 22:23:00', '%W %M %Y') |
+------------------------------------------------+
| Saturday October 1997 |
+------------------------------------------------+
1 row in set (0.05 sec)
mysql> SELECT DATE_FORMAT('1997-10-04 22:23:00', '%H:%i:%s');
+------------------------------------------------+
| DATE_FORMAT('1997-10-04 22:23:00', '%H:%i:%s') |
+------------------------------------------------+
| 22:23:00 |
+------------------------------------------------+
1 row in set (0.00 sec)
mysql> SELECT DATE_FORMAT('1997-10-04 22:23:00',
-> '%D %y %a %d %m %b %j');
+------------------------------------------+
| DATE_FORMAT('1997-10-04 22:23:00', |
'%D %y %a %d %m %b %j') |
+------------------------------------------+
| 4th 97 Sat 04 10 Oct 277 |
+------------------------------------------+
1 row in set (0.00 sec)
mysql> SELECT DATE_FORMAT('1997-10-04 22:23:00',
-> '%H %k %I %r %T %S %w');
+------------------------------------------+
| DATE_FORMAT('1997-10-04 22:23:00', |
'%H %k %I %r %T %S %w') |
+------------------------------------------+
| 22 22 10 10:23:00 PM 22:23:00 00 6 |
+------------------------------------------+
1 row in set (0.00 sec)
mysql> SELECT DATE_FORMAT('1999-01-01', '%X %V');
+------------------------------------+
| DATE_FORMAT('1999-01-01', '%X %V') |
+------------------------------------+
| 1998 52 |
+------------------------------------+
1 row in set (0.00 sec)
© Diciembre de 2003 Salvador Pozo, salvador@conclase.net