Dans MariaDB, MONTHNAME()
est une fonction de date et d'heure intégrée qui renvoie le nom du mois pour une date donnée.
Il accepte un argument, qui est la date à partir de laquelle vous souhaitez extraire le nom du mois.
Syntaxe
La syntaxe ressemble à ceci :
MONTHNAME(date)
Où date
est la date à partir de laquelle obtenir le nom du mois.
Exemple
Voici un exemple :
SELECT MONTHNAME('2041-11-14');
Résultat :
+-------------------------+| NOM MOIS('2041-11-14') |+-------------------------+| Novembre |+-------------------------+
Langue
La langue utilisée pour le nom du mois est contrôlée par la valeur de lc_time_names
variable système.
Voici un exemple qui montre comment cela affecte le résultat :
SET lc_time_names = 'es_AR';
SELECT MONTHNAME('2041-11-14');
Résultat :
+-------------------------+| NOM MOIS('2041-11-14') |+-------------------------+| novembre |+-------------------------+
Et revenir à en_US
, qui est la valeur par défaut :
SET lc_time_names = 'en_US';
SELECT MONTHNAME('2041-11-14');
Résultat :
+-------------------------+| NOM MOIS('2041-11-14') |+-------------------------+| Novembre |+-------------------------+
Voici une liste des paramètres régionaux pris en charge par MariaDB, et voici comment renvoyer votre propre liste de paramètres régionaux disponibles.
Et voici un article expliquant comment vérifier la valeur de votre lc_time_names
variable système.
Valeurs DateHeure
Cela fonctionne également avec les valeurs datetime :
SELECT MONTHNAME('2041-01-15 10:30:45');
Résultat :
+------------------------------------------------+| NOM DU MOIS('2041-01-15 10:30:45') |+--------------------------------- -+| Janvier |+------------------------------------------------+
Zéro mois
Avoir zéro mois dans la date renvoie null
:
SELECT MONTHNAME('2030-00-00');
Résultat :
+-------------------------+| NOM MOIS('2030-00-00') |+------------------------------+| NULL |+-------------------------+
Dates numériques
Il est également possible de transmettre des dates sous forme de nombre, tant que cela a du sens en tant que date.
Exemple
SELECT MONTHNAME(20201208);
Résultat :
+---------------------+| NOM DU MOIS(20201208) |+---------------------+| Décembre |+---------------------+
Les années à deux chiffres conviennent :
SELECT MONTHNAME(201208);
Résultat :
+-------------------+| NOM DU MOIS(201208) |+-------------------+| Décembre |+-------------------+
Mais ça doit avoir un sens comme date. Voici ce qui se passe si j'augmente la partie jour à un jour non valide :
SELECT MONTHNAME(201299);
Résultat :
+-------------------+| NOM DU MOIS(201299) |+------------------+| NULL |+-------------------+
Autres délimiteurs
Vous pouvez utiliser d'autres délimiteurs pour la date. MariaDB est assez indulgent en ce qui concerne les délimiteurs de dates. Voici quelques exemples valides :
SELECT
MONTHNAME('2027/08/19'),
MONTHNAME('2027,08,19'),
MONTHNAME('2027:08:19'),
MONTHNAME('2027;08!19');
Résultat (en utilisant la sortie verticale) :
MONTHNAME('2027/08/19') :aoûtMONTHNAME('2027,08,19') :aoûtMONTHNAME('2027:08:19') :aoûtMONTHNAME('2027;08!19') :aoûtDate actuelle
Nous pouvons passer
NOW()
comme argument de date pour utiliser la date actuelle :SELECT NOW(), MONTHNAME(NOW());
Résultat :
+---------------------+------------------+| MAINTENANT() | NOM DU MOIS(MAINTENANT()) |+---------------------+------------------+| 2021-05-14 10:11:16 | Mai |+---------------------+-------------+Arguments invalides
Lorsqu'un argument invalide est passé,
MONTHNAME()
renvoienull
:SELECT MONTHNAME('Wrong!');
Résultat :
+---------------------+| NOM MOIS('Mauvais !') |+---------------------+| NULL |+---------------------+Argument manquant
Appel de
MONTHNAME()
avec le mauvais nombre d'arguments, ou sans passer d'arguments, génère une erreur :SELECT MONTHNAME();
Résultat :
ERREUR 1582 (42000) :Nombre de paramètres incorrect dans l'appel à la fonction native 'MONTHNAME'Et un autre exemple :
SELECT MONTHNAME('2030-01-25', '2045-05-08');
Résultat :
ERREUR 1582 (42000) :Nombre de paramètres incorrect dans l'appel à la fonction native 'MONTHNAME'