Mysql
 sql >> Base de données >  >> RDS >> Mysql

DATE_FORMAT() Exemples – MySQL

Cet article contient des exemples de DATE_FORMAT() fonction dans MySQL.

Le DATE_FORMAT() La fonction permet de renvoyer une date dans un format spécifié. Par exemple, vous pouvez l'utiliser pour renvoyer   2020-06-18 le jeudi juin 2020 , ou tout autre format dont vous avez besoin.

Syntaxe

La syntaxe ressemble à ceci :

DATE_FORMAT(date,format)

date est la date que vous voulez formater, et format spécifie comment il doit être formaté.

Pour obtenir une liste des spécificateurs de format valides, consultez le tableau au bas de cet article. La valeur de format doit commencer par un signe de pourcentage (% ).

Exemple

Voici un exemple pour illustrer.

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

Résultat :

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

Noms abrégés/abrégés des jours et des mois

Voici un exemple qui formate le résultat en noms courts de jour et de mois.

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

Résultat :

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

Un exemple de base de données

Voici un exemple dans lequel nous formatons la valeur renvoyée par une colonne de base de données stockée en tant que valeur datetime.

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

Résultat :

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

Formater l'heure

Vous pouvez également utiliser DATE_FORMAT() pour formater le composant d'heure d'un datetime valeur. Exemple :

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

Résultat :

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

Voici un autre exemple où j'ajoute le AM/PM désignateur :

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

Résultat :

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

Spécifications disponibles

Les spécificateurs suivants peuvent être utilisés pour spécifier le format de retour. La valeur de format doit commencer par un signe de pourcentage (% ).

Spécificateur Description
%a Nom abrégé du jour de la semaine (Sun ..Sat )
%b Nom abrégé du mois (Jan ..Dec )
%c Mois, numérique (0 ..12 )
%D Jour du mois avec suffixe anglais (0th , 1st , 2nd , 3rd , …)
%d Jour du mois, numérique (00 ..31 )
%e Jour du mois, numérique (0 ..31 )
%f Microsecondes (000000 ..999999 )
%H Heure (00 ..23 )
%h Heure (01 ..12 )
%I Heure (01 ..12 )
%i Minutes, numérique (00 ..59 )
%j Jour de l'année (001 ..366 )
%k Heure (0 ..23 )
%l Heure (1 ..12 )
%M Nom du mois (January ..December )
%m Mois, numérique (00 ..12 )
%p AM ou PM
%r Heure, 12 heures (hh:mm:ss suivi de AM ou PM )
%S Secondes (00 ..59 )
%s Secondes (00 ..59 )
%T Heure, 24 heures (hh:mm:ss )
%U Semaine (00 ..53 ), où dimanche est le premier jour de la semaine ; WEEK() mode 0
%u Semaine (00 ..53 ), où lundi est le premier jour de la semaine ; WEEK() mode 1
%V Semaine (01 ..53 ), où dimanche est le premier jour de la semaine ; WEEK() mode 2 ; utilisé avec %X
%v Semaine (01 ..53 ), où lundi est le premier jour de la semaine ; WEEK() mode 3 ; utilisé avec %x
%W Nom du jour de la semaine (Sunday ..Saturday )
%w Jour de la semaine (0 =dimanche..6 =Samedi)
%X Année de la semaine où dimanche est le premier jour de la semaine, numérique, quatre chiffres ; utilisé avec %V
%x Année de la semaine, où lundi est le premier jour de la semaine, numérique, quatre chiffres ; utilisé avec %v
%Y Année, numérique, quatre chiffres
%y Année, numérique (deux chiffres)
%% Un % littéral personnage
%x x , pour tout "x ” non listé ci-dessus