sql >> Base de Datos >  >> RDS >> Mysql

DATE_FORMAT() Ejemplos – MySQL

Este artículo contiene ejemplos de DATE_FORMAT() función en MySQL.

El DATE_FORMAT() La función le permite devolver una fecha en un formato específico. Por ejemplo, puede usarlo para devolver  2020-06-18 como jueves, junio de 2020 , o cualquier otro formato que necesites.

Sintaxis

La sintaxis es así:

DATE_FORMAT(date,format)

Donde date es la fecha que desea formatear, y format especifica cómo se debe formatear.

Para obtener una lista de especificadores de formato válidos, consulte la tabla al final de este artículo. El valor del formato debe comenzar con un signo de porcentaje (% ).

Ejemplo

Aquí hay un ejemplo para demostrarlo.

SELECT DATE_FORMAT('2020-06-18', '%W, %M %Y') AS 'Result';

Resultado:

+---------------------+
| Result              |
+---------------------+
| Thursday, June 2020 |
+---------------------+

Nombres cortos/abreviados de días y meses

Aquí hay un ejemplo que formatea el resultado en nombres cortos de día y mes.

SELECT DATE_FORMAT('2020-06-18', '%a, %b %Y') AS 'Result';

Resultado:

+---------------+
| Result        |
+---------------+
| Thu, Jun 2020 |
+---------------+

Un ejemplo de base de datos

Este es un ejemplo en el que formateamos el valor devuelto por una columna de la base de datos que se almacena como un valor de fecha y hora.

USE sakila;
SELECT
  payment_date AS 'Date/Time',
  DATE_FORMAT(payment_date, '%W, %M %Y') AS 'Date'
FROM payment
WHERE payment_id = 1;

Resultado:

+---------------------+---------------------+
| Date/Time           | Date                |
+---------------------+---------------------+
| 2005-05-25 11:30:37 | Wednesday, May 2005 |
+---------------------+---------------------+

Dar formato a la hora

También puede usar DATE_FORMAT() para formatear el componente de tiempo de un datetime valor. Ejemplo:

USE sakila;
SELECT
  payment_date AS 'Date/Time',
  DATE_FORMAT(payment_date, '%h:%i:%s') AS 'Time'
FROM payment
WHERE payment_id = 1;

Resultado:

+---------------------+----------+
| Date/Time           | Time     |
+---------------------+----------+
| 2005-05-25 11:30:37 | 11:30:37 |
+---------------------+----------+

Aquí hay otro ejemplo donde agrego el AM/PM designador:

USE sakila;
SELECT
  payment_date AS 'Date/Time',
  DATE_FORMAT(payment_date, '%h:%i %p') AS 'Time'
FROM payment
WHERE payment_id = 1;

Resultado:

+---------------------+----------+
| Date/Time           | Time     |
+---------------------+----------+
| 2005-05-25 11:30:37 | 11:30 AM |
+---------------------+----------+

Especificadores disponibles

Los siguientes especificadores se pueden utilizar para especificar el formato de retorno. El valor del formato debe comenzar con un signo de porcentaje (% ).

Especificador Descripción
%a Nombre abreviado del día de la semana (Sun ..Sat )
%b Nombre abreviado del mes (Jan ..Dec )
%c Mes, numérico (0 ..12 )
%D Día del mes con sufijo en inglés (0th , 1st , 2nd , 3rd , …)
%d Día del mes, numérico (00 ..31 )
%e Día del mes, numérico (0 ..31 )
%f Microsegundos (000000 ..999999 )
%H Hora (00 ..23 )
%h Hora (01 ..12 )
%I Hora (01 ..12 )
%i Minutos, numérico (00 ..59 )
%j Día del año (001 ..366 )
%k Hora (0 ..23 )
%l Hora (1 ..12 )
%M Nombre del mes (January ..Dec )
%m Mes, numérico (00 ..12 )
%p AM o PM
%r Hora, 12 horas (hh:mm:ss seguido de AM o PM )
%S Segundos (00 ..59 )
%s Segundos (00 ..59 )
%T Hora, 24 horas (hh:mm:ss )
%U Semana (00 ..53 ), donde el domingo es el primer día de la semana; WEEK() modo 0
%u Semana (00 ..53 ), donde el lunes es el primer día de la semana; WEEK() modo 1
%V Semana (01 ..53 ), donde el domingo es el primer día de la semana; WEEK() modo 2; usado con %X
%v Semana (01 ..53 ), donde el lunes es el primer día de la semana; WEEK() modo 3; usado con %x
%W Nombre del día de la semana (Sunday ..Sat )
%w Día de la semana (0 =Domingo..6 =sábado)
%X Año de la semana donde el domingo es el primer día de la semana, numérico, cuatro dígitos; usado con %V
%x Año de la semana, donde lunes es el primer día de la semana, numérico, cuatro dígitos; usado con %v
%Y Año, numérico, cuatro dígitos
%y Año, numérico (dos dígitos)
%% Un % literal personaje
%x x , para cualquier “x ” no listado arriba