Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Exemplos de DATE_FORMAT() – MySQL


Este artigo contém exemplos do DATE_FORMAT() função no MySQL.

O DATE_FORMAT() A função permite retornar uma data em um formato especificado. Por exemplo, você pode usá-lo para retornar  2020-06-18 como quinta-feira, junho de 2020 , ou qualquer outro formato que você precisar.


Sintaxe


A sintaxe fica assim:
DATE_FORMAT(date,format)

Onde date é a data que você deseja formatar e format especifica como deve ser formatado.

Para obter uma lista de especificadores de formato válidos, consulte a tabela na parte inferior deste artigo. O valor do formato deve começar com um sinal de porcentagem (% ).

Exemplo


Aqui está um exemplo para demonstrar.
SELECT DATE_FORMAT('2020-06-18', '%W, %M %Y') AS 'Result';

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

Nomes de dias e meses curtos/abreviados


Aqui está um exemplo que formata o resultado em nomes curtos de dia e mês.
SELECT DATE_FORMAT('2020-06-18', '%a, %b %Y') AS 'Result';

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

Um exemplo de banco de dados


Aqui está um exemplo em que formatamos o valor retornado de uma coluna de banco de dados armazenada como um valor de data e 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 |
+---------------------+---------------------+

Formatando a hora


Você também pode usar DATE_FORMAT() para formatar o componente de hora de um datetime valor. Exemplo:
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 |
+---------------------+----------+

Aqui está outro exemplo em que adiciono 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 disponíveis


Os especificadores a seguir podem ser usados ​​para especificar o formato de retorno. O valor do formato deve começar com um sinal de porcentagem (% ).
Especificador Descrição
%a Nome abreviado do dia da semana (Sun ..Sat )
%b Nome do mês abreviado (Jan ..Dec )
%c Mês, numérico (0 ..12 )
%D Dia do mês com sufixo em inglês (0th , 1st , 2nd , 3rd , …)
%d Dia do mês, numérico (00 ..31 )
%e Dia do mês, numérico (0 ..31 )
%f Microssegundos (000000 ..999999 )
%H Hora (00 ..23 )
%h Hora (01 ..12 )
%I Hora (01 ..12 )
%i Minutos, numérico (00 ..59 )
%j Dia do ano (001 ..366 )
%k Hora (0 ..23 )
%l Hora (1 ..12 )
%M Nome do mês (January ..December )
%m Mês, numérico (00 ..12 )
%p AM ou PM
%r Hora, 12 horas (hh:mm:ss seguido por AM ou PM )
%S Segundos (00 ..59 )
%s Segundos (00 ..59 )
%T Horário, 24 horas (hh:mm:ss )
%U Semana (00 ..53 ), onde domingo é o primeiro dia da semana; WEEK() modo 0
%u Semana (00 ..53 ), onde segunda-feira é o primeiro dia da semana; WEEK() modo 1
%V Semana (01 ..53 ), onde domingo é o primeiro dia da semana; WEEK() modo 2; usado com %X
%v Semana (01 ..53 ), onde segunda-feira é o primeiro dia da semana; WEEK() modo 3; usado com %x
%W Nome do dia da semana (Sunday ..Saturday )
%w Dia da semana (0 =Domingo..6 =Sábado)
%X Ano da semana em que domingo é o primeiro dia da semana, numérico, quatro dígitos; usado com %V
%x Ano para a semana, onde segunda-feira é o primeiro dia da semana, numérico, quatro dígitos; usado com %v
%Y Ano, numérico, quatro dígitos
%y Ano, numérico (dois dígitos)
%% Um literal % personagem
%x x , para qualquer “x ” não listado acima