Dans MySQL, vous pouvez utiliser le GET_FORMAT()
fonction pour renvoyer une chaîne de format pour les arguments fournis. Cela peut être utile lorsque vous devez fournir une chaîne de format à une autre fonction, telle que DATE_FORMAT()
ou STR_TO_DATE()
.
Syntaxe
La syntaxe officielle ressemble à ceci :
GET_FORMAT({DATE|TIME|DATETIME}, {'EUR'|'USA'|'JIS'|'ISO'|'INTERNAL'})
Exemple 1 - Utilisation de base
Voici un exemple pour montrer comment cela fonctionne.
SELECT GET_FORMAT(DATE,'USA');
Résultat :
+------------------------+ | GET_FORMAT(DATE,'USA') | +------------------------+ | %m.%d.%Y | +------------------------+
Cet exemple renvoie donc la chaîne de format pour les États-Unis. Nous pouvons maintenant prendre cette chaîne de format et l'utiliser dans diverses fonctions de formatage de date.
Comme ceci :
SELECT DATE_FORMAT('2020-03-07', '%m.%d.%Y') AS 'Formatted';
Résultat :
+------------+ | Formatted | +------------+ | 03.07.2020 | +------------+
Cependant, nous pouvons également passer cette fonction directement au DATE_FORMAT()
une fonction. Comme ceci :
SELECT DATE_FORMAT('2020-03-07', GET_FORMAT(DATE,'USA')) AS 'Formatted';
Résultat :
+------------+ | Formatted | +------------+ | 03.07.2020 | +------------+
Cela nous évite donc d'avoir à nous rappeler quelle chaîne de format utiliser - GET_FORMAT()
fait ça pour nous.
Exemple 2 – Valeurs de date
Cet exemple répertorie toutes les variantes du deuxième argument lorsque le premier argument est DATE
.
SELECT GET_FORMAT(DATE,'USA') AS 'USA', GET_FORMAT(DATE,'JIS') AS 'JIS', GET_FORMAT(DATE,'ISO') AS 'ISO', GET_FORMAT(DATE,'EUR') AS 'EUR', GET_FORMAT(DATE,'INTERNAL') AS 'INTERNAL';
Résultat :
+----------+----------+----------+----------+----------+ | USA | JIS | ISO | EUR | INTERNAL | +----------+----------+----------+----------+----------+ | %m.%d.%Y | %Y-%m-%d | %Y-%m-%d | %d.%m.%Y | %Y%m%d | +----------+----------+----------+----------+----------+
Exemple 3 - Valeurs DateHeure
Cet exemple répertorie toutes les variantes du deuxième argument lorsque le premier argument est DATETIME
.
SELECT GET_FORMAT(DATETIME,'USA') AS 'USA', GET_FORMAT(DATETIME,'JIS') AS 'JIS', GET_FORMAT(DATETIME,'ISO') AS 'ISO', GET_FORMAT(DATETIME,'EUR') AS 'EUR', GET_FORMAT(DATETIME,'INTERNAL') AS 'INTERNAL';
Résultat :
+-------------------+-------------------+-------------------+-------------------+--------------+ | USA | JIS | ISO | EUR | INTERNAL | +-------------------+-------------------+-------------------+-------------------+--------------+ | %Y-%m-%d %H.%i.%s | %Y-%m-%d %H:%i:%s | %Y-%m-%d %H:%i:%s | %Y-%m-%d %H.%i.%s | %Y%m%d%H%i%s | +-------------------+-------------------+-------------------+-------------------+--------------+
Exemple 4 - Valeurs de temps
Cet exemple répertorie toutes les variantes du deuxième argument lorsque le premier argument est TIME
.
SELECT GET_FORMAT(TIME,'USA') AS 'USA', GET_FORMAT(TIME,'JIS') AS 'JIS', GET_FORMAT(TIME,'ISO') AS 'ISO', GET_FORMAT(TIME,'EUR') AS 'EUR', GET_FORMAT(TIME,'INTERNAL') AS 'INTERNAL';
Résultat :
+-------------+----------+----------+----------+----------+ | USA | JIS | ISO | EUR | INTERNAL | +-------------+----------+----------+----------+----------+ | %h:%i:%s %p | %H:%i:%s | %H:%i:%s | %H.%i.%s | %H%i%s | +-------------+----------+----------+----------+----------+
Spécificateurs d'unité
La chaîne de format renvoyée peut être composée de n'importe quelle combinaison des spécificateurs suivants.
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 , pour tout "x ” non listé ci-dessus |