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

Exemples GET_FORMAT() – MySQL

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 x , pour tout "x ” non listé ci-dessus