Conseils SQL efficaces : convertissez les numéros de mois en noms de mois sans instruction CASE
Dans SQL Server, les mois sont généralement stockés sous forme de nombres (1, 2, ..., 12), mais pour plus de lisibilité, il est utile de les afficher sous forme de noms de mois (janvier, février, etc.). Bien qu'il soit possible d'utiliser l'instruction CASE, voici une alternative plus propre :
Utilisez habilement les fonctions DateName() et DateAdd()
La requête suivante utilise les fonctions DateName() et DateAdd() :
<code class="language-sql">Select DateName(month, DateAdd(month, @MonthNumber, 0) - 1)</code>
Explication détaillée du principe :
DateAdd(month, @MonthNumber, 0)
Soustrait un mois du numéro de mois spécifié (@MonthNumber) pour l'aligner sur l'index du mois de base zéro dans la fonction DateName(). DateName(month)
Extrayez le nom du mois de la date modifiée. Une autre méthode efficace
Une autre solution réalisable est :
<code class="language-sql">Select DateName(month, DateAdd(month, @MonthNumber, -1))</code>
Explication détaillée du principe :
DateAdd(month, @MonthNumber, -1)
Soustrait un mois du numéro de mois spécifié (@MonthNumber) pour l'aligner sur l'index de mois basé sur un dans la fonction DateName(). DateName(month)
Extrayez le nom du mois de la date modifiée. Les deux requêtes peuvent convertir efficacement les numéros de mois en noms de mois correspondants tout en évitant l'utilisation d'instructions CASE, ce qui rend le code plus concis et efficace.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!