Lorsque vous travaillez avec des bases de données SQL, il devient souvent nécessaire de regrouper les données par périodes, telles que des mois ou des années. Par défaut, la clause GROUP BY de SQL regroupe les lignes en fonction de mois ou d'années individuels. Cependant, vous pouvez rencontrer des situations dans lesquelles vous devez afficher les résultats dans un format plus lisible par l'homme, tel que « mois-année ».
Supposons que vous ayez une requête qui regroupe les données par mois et par année et affiche les résultats comme suit :
SELECT MONTH(date) AS Mjesec, SUM(marketingExpense) AS SumaMarketing, SUM(revenue) AS SumaZarada FROM [Order] WHERE (idCustomer = 1) AND (date BETWEEN '2001-11-3' AND '2011-11-3') GROUP BY MONTH(date), YEAR(date)
Cette requête renverra des résultats avec la première colonne affichant uniquement le mois, par exemple, "9". L'objectif est de modifier la requête pour afficher le mois et l'année dans un format combiné, tel que "9-2011".
Pour y parvenir, vous pouvez utiliser la fonction CAST pour convertir les valeurs du mois et de l'année en chaînes :
SELECT CAST(MONTH(date) AS VARCHAR(2)) + '-' + CAST(YEAR(date) AS VARCHAR(4)) AS Mjesec, ...
En convertissant les valeurs du mois et de l'année sous forme de chaînes, vous pouvez les concaténer en une seule chaîne qui combine le mois et l'année dans le format "mois-année" souhaité.
Si vous avez besoin de zéros non significatifs pour la valeur du mois, vous pouvez utiliser la syntaxe suivante :
GROUP BY CAST(YEAR(date) AS VARCHAR(4)) + '-' + right('00' + CAST(MONTH(date) AS VARCHAR(2)), 2)
Cette expression garantira que toutes les valeurs mensuelles comportent des zéros non significatifs, rendant les résultats plus cohérents et visuellement attrayants.
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!