Dans MariaDB, GET_FORMAT()
est une fonction de date et d'heure intégrée qui renvoie une chaîne de format.
Cette fonction peut être utile lorsque vous travaillez avec des fonctions qui nécessitent une chaîne de format, telles que DATE_FORMAT()
et STR_TO_DATE()
.
Syntaxe
La syntaxe ressemble à ceci :
GET_FORMAT({DATE|DATETIME|TIME}, {'EUR'|'USA'|'JIS'|'ISO'|'INTERNAL'})
Exemple
Voici un exemple :
SELECT GET_FORMAT(DATE, 'EUR');
Résultat :
+-------------------------+| GET_FORMAT(DATE, 'EUR') |+------------------------------+| %d.%m.%Y |+-------------------------+
Cela nous montre le format à utiliser lorsque vous travaillez avec des dates au format EUR.
Voici un autre exemple. Cette fois, nous renvoyons la chaîne de format ISO pour datetime :
SELECT GET_FORMAT(DATETIME, 'ISO');
Résultat :
+-----------------------------+| GET_FORMAT(DATETIME, 'ISO') |+-----------------------------+| %Y-%m-%d %H:%i:%s |+-----------------------------+Avec
DATE_FORMAT()
Dans cet exemple, j'utilise
GET_FORMAT()
comme second argument duDATE_FORMAT()
une fonction. Cela me permet de formater la date sans avoir à me souvenir de la chaîne de format réelle à utiliser.SELECT DATE_FORMAT('2030-08-25', GET_FORMAT(DATE,'USA'));
Résultat :
+------------------------------------------------------------ -----+| DATE_FORMAT('2030-08-25', GET_FORMAT(DATE,'USA')) |+-------------------------------------- ----------------------+| 25.08.2030 |+--------------------------------------------- ------+Chaînes de format possibles
Voici un tableau des chaînes de format possibles :
Arguments | Format résultant |
---|---|
DATE, 'EUR' | ‘%d.%m.%Y’ |
DATE, 'USA' | ‘%m.%d.%Y’ |
DATE, 'JIS' | ‘%Y-%m-%d’ |
DATE, 'ISO' | ‘%Y-%m-%d’ |
DATE, 'INTERNAL' | ‘%Y%m%d’ |
DATETIME, 'EUR' | ‘%Y-%m-%d %H.%i.%s’ |
DATETIME, 'USA' | ‘%Y-%m-%d %H.%i.%s’ |
DATETIME, 'JIS' | ‘%Y-%m-%d %H:%i:%s’ |
DATETIME, 'ISO' | ‘%Y-%m-%d %H:%i:%s’ |
DATETIME, 'INTERNAL' | ‘%Y%m%d%H%i%s’ |
TIME, 'EUR' | ‘%H.%i.%s’ |
TIME, 'USA' | ‘%h :%i :%s %p’ |
TIME, 'JIS' | ‘%H :%i :%s’ |
TIME, 'ISO' | ‘%H :%i :%s’ |
TIME, 'INTERNAL' | ‘%H%i%s’ |
Argument manquant
Appel de GET_FORMAT()
avec le mauvais nombre d'arguments, ou sans passer d'arguments, génère une erreur :
SELECT GET_FORMAT();
Résultat :
ERROR 1064 (42000) :vous avez une erreur dans votre syntaxe SQL ; consultez le manuel qui correspond à la version de votre serveur MariaDB pour la bonne syntaxe à utiliser près de ')' à la ligne 1
Et un autre exemple :
SELECT GET_FORMAT( DATE, 'JIS', 'OOPS' );
Résultat :
ERROR 1064 (42000) :vous avez une erreur dans votre syntaxe SQL ; consultez le manuel qui correspond à la version de votre serveur MariaDB pour la bonne syntaxe à utiliser près de ' 'OOPS' )' à la ligne 1