Comment afficher le nom complet du mois avec SQL Server, à partir d’une date et en toutes lettres?
Microsoft offre des fonctions natives pour afficher le mois en lettres avec SQL Server et dans différents formats, y compris en toutes lettres, les abréviations et dans plusieurs langues. La fonction DATENAME(), combinée avec le mot-clé MONTH par exemple, est couramment utilisée pour récupérer et formater les noms des mois. En effet, en T-SQL, il existe quelques fonctions que vous pouvez utiliser pour afficher le nom du mois en lettres :
- DATENAME() : Cette fonction renvoie une chaîne de caractères représentant la partie de date spécifiée de la date spécifiée.
- FORMAT() : Bien qu’elle soit principalement destinée au formatage, vous pouvez utiliser cette fonction pour obtenir le nom du mois en lettres, notamment lorsque vous travaillez avec différentes langues ou régions.
Ainsi, les 2 fonctions natives : DATENAME() et FORMAT(), sont les principales méthodes recommandées à utiliser en T-SQL natif pour obtenir le nom du mois en lettres. Une autre fonction que vous pouvez rencontrer avec ODBC est la fonction MONTHNAME. Il convient de noter que bien que MONTHNAME() soit une fonction ODBC.
Toutefois, MONTHNAME n’est pas pris en charge nativement en T-SQL pour SQL Server.
Table of Contents
1. Requête SQL Server pour afficher le nom du mois en lettres
La requête ci-dessous montre simplement le nom du mois en utilisant l’option MONTH et le timestamp actuel avec le format de sortie par défaut.
SELECT DATENAME(MONTH, GETDATE() ) AS [NomDuMois], GETDATE() AS [DateActuelle];
Par exemple, il renvoie « Juin » en toutes lettres pour aujourd’hui.
En résumé, ce court tutoriel explique comment afficher le nom complet du mois en toutes lettres à partir d’une date SQL. Un autre article sur la date et l’heure montre comment calculer la différence entre deux dates avec les heures, les minutes et les secondes.
2. Afficher le nom du mois en toutes lettres en SQL Server
Une façon d’afficher le nom du mois en SQL Server consiste à afficher le nom complet du mois en anglais. Cette méthode peut être utile dans des situations où vous devez afficher le nom du mois de manière plus formelle, comme dans un rapport ou un document.
En utilisant la fonction DATENAME() avec le mot-clé MONTH et la fonction FORMAT() avec le spécificateur ‘MMMM’, vous pouvez facilement récupérer le nom complet du mois en anglais. Cette requête renvoie simplement le nom complet du mois, tel que « Janvier » ou « Décembre ».
SELECT FORMAT(GETDATE(), 'MMMM') AS [NomMoisComplet];
3. Abréviation du nom du mois en SQL Server
Pour afficher l’abréviation du nom du mois en SQL Server, vous pouvez utiliser la fonction DATENAME() associée au mot-clé MONTH ou la fonction FORMAT() avec le spécificateur ‘MMM’. Cette méthode, qui produit des résultats tels que « Jan » ou « Déc », est particulièrement bénéfique pour des représentations concises dans des tableaux ou des graphiques. Elle est également avantageuse lorsque les dates doivent être regroupées par mois, offrant ainsi une catégorisation succincte. Voici un exemple de code illustratif pour y parvenir :
SELECT FORMAT(DATENAME(MONTH, GETDATE()), 'MMM') AS [MoisAbreviation];
4. Afficher le mois dans les 10 langues les plus parlées dans le monde
Les langues sont une partie importante de l’histoire, de la culture et de la communication humaines. Les différentes langues offrent des perspectives uniques sur les diverses visions du monde et les traditions. Voici dix des langues les plus parlées dans le monde. Chaque langue est accompagnée d’un extrait de code T-SQL qui formate une date pour afficher le nom du mois dans cette langue spécifique. Ainsi, nous allons décomposer le code T-SQL par langue avec une courte description pour chaque langue.
Nom du mois en lettres Chinoises (mandarin) avec SQL Server
- Description : Langue officielle de la Chine et de Taïwan.
DECLARE @date datetime = '2023-01-01'; SELECT FORMAT(@date, 'MMMM', 'zh-CN') AS 'zh-CN'; -- Chinois (mandarin)
Espagnol
- Description : Parlée dans de nombreux pays, en particulier en Amérique latine et en Espagne.
DECLARE @date datetime = '2023-01-01'; SELECT FORMAT(@date, 'MMMM', 'es-ES') AS 'es-ES'; -- Espagnol
Anglais
- Description : Une langue mondiale.
DECLARE @date datetime = '2023-01-01'; SELECT FORMAT(@date, 'MMMM', 'en-US') AS 'en-US'; -- Anglais (Américain)
Hindi
- Description : Principalement parlé en Inde.
DECLARE @date datetime = '2023-01-01'; SELECT FORMAT(@date, 'MMMM', 'hi-IN') AS 'hi-IN'; -- Hindi
Nom du mois en arabe avec T-SQL
- Description : Langue officielle dans 26 pays du Moyen-Orient et de l’Afrique.
DECLARE @date datetime = '2023-01-01'; SELECT FORMAT(@date, 'MMMM', 'ar-SA') AS 'ar-SA'; -- Arabe
Portugais
- Description : Langue officielle du Brésil et du Portugal.
DECLARE @date datetime = '2023-01-01'; SELECT FORMAT(@date, 'MMMM', 'pt-BR') AS 'pt-BR'; -- Portugais (Brésil)
Bengali
- Description : Langue officielle du Bangladesh et de certaines régions de l’Inde.
DECLARE @date datetime = '2023-01-01'; SELECT FORMAT(@date, 'MMMM', 'bn-BD') AS 'bn-BD'; -- Bengali (Bangladesh)
Russe
- Description : Langue officielle de la Russie.
DECLARE @date datetime = '2023-01-01'; SELECT FORMAT(@date, 'MMMM', 'ru-RU') AS 'ru-RU'; -- Russe
Japonais
- Description : Langue officielle du Japon.
DECLARE @date datetime = '2023-01-01'; SELECT FORMAT(@date, 'MMMM', 'ja-JP') AS 'ja-JP'; -- Japonais
Nom du mois en lahnda (pendjabi occidental)
- Description : Principalement parlé dans la région du Pendjab au Pakistan.
DECLARE @date datetime = '2023-01-01'; SELECT FORMAT(@date, 'MMMM', 'pa-PK') AS 'pa-PK'; -- Pendjabi (Pakistan)
5. Afficher le mois en lettres dans les 10 langues les plus parlées
Le code ci-dessous utilise encore la fonction FORMAT() de SQL Server pour extraire le nom du mois à partir d’une date donnée, ici le 31 décembre 2023. Il génère un jeu de résultats affichant le nom du mois pour cette date dans plusieurs langues importantes, telles que le chinois (mandarin), l’espagnol, l’anglais et plusieurs autres, le tout dans une seule requête.
-- ** Code by Expert-Only.com ** -- DECLARE @date datetime = '2023-12-31'; SELECT FORMAT(@date, 'MMMM', 'zh-CN') AS 'zh-CN', -- Chinese (Mandarin) FORMAT(@date, 'MMMM', 'es-ES') AS 'es-ES', -- Spanish FORMAT(@date, 'MMMM', 'en-US') AS 'en-US', -- English American FORMAT(@date, 'MMMM', 'hi-IN') AS 'hi-IN', -- Hindi FORMAT(@date, 'MMMM', 'ar-SA') AS 'ar-SA', -- Arabic FORMAT(@date, 'MMMM', 'pt-BR') AS 'pt-BR', -- Portuguese (Brazil) FORMAT(@date, 'MMMM', 'bn-BD') AS 'bn-BD', -- Bengali (Bangladesh) FORMAT(@date, 'MMMM', 'ru-RU') AS 'ru-RU', -- Russian FORMAT(@date, 'MMMM', 'ja-JP') AS 'ja-JP', -- Japanese FORMAT(@date, 'MMMM', 'pa-PK') AS 'pa-PK'; -- Punjabi (Pakistan);
Le résultat donne cela depuis SSMS :
zh-CN | es-ES | en-US | hi-IN | ar-SA | pt-BR | bn-BD | ru-RU | ja-JP | pa-PK |
---|---|---|---|---|---|---|---|---|---|
十二月 | diciembre | December | दिसम्बर | جمادى الثانية | dezembro | ডিসেম্বর | Декабрь | 12月 | ਦਸੰਬਰ |
A noter les spécificités pour l’arabe, le nom de mois « جمادى الثانية » n’est pas décembre en arabe, il fait référence à un mois du calendrier lunaire islamique. Et dans le calendrier grégorien, décembre est représenté par « ديسمبر » en arabe.
6. Requête T-SQL pour afficher le numéro du mois
Pour afficher le numéro du mois dans SQL Server, utilisez la fonction DATEPART() avec le mot-clé MONTH. Cette fonction renvoie le mois sous la forme d’un nombre entier, comme 1 pour janvier ou 12 pour décembre. Cette méthode est utile pour les calculs ou les tris.
SELECT DATEPART(MONTH, GETDATE()) AS [MonthNumber] ;
Différentes options pour afficher le mois avec les fonctions SQL Server
Avec SQL Server, plusieurs fonctions intégrées permettent d’afficher le nom du mois en lettres et dans différents formats, y compris les noms complets, les abréviations ou les représentations numériques. La fonction FORMAT() permet d’attribuer des noms de mois spécifiques à une langue. Ces outils sont inestimables pour la création de rapports, de graphiques ou de calculs basés sur les mois.
Ce tutoriel technique sur MS SQL fournit des examples concrets sur l’affichage des noms de mois. Pour plus de précision, comme le calcul de la différence de temps exacte entre deux dates, reportez-vous à notre tutoriel sur la différence de date dans SQL Server. Un autre défi courant consiste à calculer la différence de temps entre deux dates, avec précision, c’est-à-dire en incluant les heures, les minutes, les secondes et parfois les millisecondes.
Par ailleurs, nous aimerions avoir votre avis ! N’hésitez pas à laisser un commentaire ou à nous contacter.
Soyez le premier à commenter