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

Comment GET_FORMAT() fonctionne dans MariaDB

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 du DATE_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