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

2 fonctions qui renvoient le nom du mois à partir d'une date dans MySQL

Les deux fonctions suivantes nous permettent d'obtenir le nom du mois à partir d'une date dans MySQL.

Le MONTHNAME() Fonction

Le MONTHNAME() La fonction est conçue spécifiquement pour renvoyer le nom du mois à partir d'une date. Pour cela, passez la date à la fonction lors de son appel. Le nom complet du mois est renvoyé.

Exemple :

SELECT MONTHNAME('2030-10-25');

Résultat :

October

La langue utilisée pour le nom du mois est contrôlée par la valeur de lc_time_names variable système. Voir MONTHNAME() Exemples pour un exemple de la façon dont cela affecte la sortie. Voir également Comment définir les paramètres régionaux pour la connexion actuelle dans MySQL pour plus d'informations.

Le DATE_FORMAT() Fonction

Le DATE_FORMAT() La fonction renvoie une date donnée dans un format spécifié. Pour utiliser cette fonction, indiquez la date et le format souhaité lors de l'appel de la fonction.

Vous pouvez renvoyer le nom complet du mois en passant %M comme chaîne de format.

Exemple :

SELECT DATE_FORMAT('2030-12-25', '%M');

Résultat :

December

La langue utilisée pour le nom du mois est contrôlée par la valeur de lc_time_names variable système.

Nom abrégé du mois

Passer %b au DATE_FORMAT() La fonction renvoie le nom court du mois.

Exemple :

SELECT DATE_FORMAT('2030-12-25', '%b');

Résultat :

December

Cela pourrait être répliqué avec le MONTHNAME() fonction en utilisant LEFT() pour saisir les 3 premiers caractères du nom du mois.

Exemple :

SELECT LEFT(MONTHNAME('2030-12-25'), 3);

Résultat :

December

Le même concept pourrait être atteint en convertissant le résultat de MONTHNAME() à un type de données à trois caractères avec une fonction comme CAST() .

Cependant, bien que cette approche fonctionne en en_US , cela peut ne pas toujours fonctionner comme prévu dans d'autres langues. Par exemple :

SET lc_time_names = 'th_TH';
SELECT 
    DATE_FORMAT('2030-12-25', '%b') AS "Short 1",
    LEFT(MONTHNAME('2030-12-25'), 3) AS "Short 2",
    MONTHNAME('2030-12-25') AS "Full";

Résultat :

+----------+-----------+-----------------------+
| Short 1  | Short 2   | Full                  |
+----------+-----------+-----------------------+
| ธ.ค.     | ธัน        | ธันวาคม                |
+----------+-----------+-----------------------+