SQL データベースを使用する場合、多くの場合、月や年などの期間ごとにデータをグループ化する必要があります。デフォルトでは、SQL の GROUP BY 句は、個々の月または年に基づいて行をグループ化します。ただし、「月-年」など、より人間が読みやすい形式で結果を表示する必要がある状況が発生する場合があります。
データを月と年でグループ化し、次のように結果を表示するクエリがあるとします。
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)
このクエリは、最初の列にのみを表示する結果を返します。月、たとえば「9」。目標は、「9-2011」などの月と年を組み合わせた形式で表示するようにクエリを変更することです。
これを実現するには、次のようにします。 CAST 関数を使用して、月と年の値を文字列に変換します。
SELECT CAST(MONTH(date) AS VARCHAR(2)) + '-' + CAST(YEAR(date) AS VARCHAR(4)) AS Mjesec, ...
月と年の値を文字列としてキャストすると、次のことができます。それらを、希望の「月-年」形式で月と年を組み合わせた 1 つの文字列に連結します。
月の値の先頭にゼロが必要な場合は、次のようにします。次の構文を使用できます:
GROUP BY CAST(YEAR(date) AS VARCHAR(4)) + '-' + right('00' + CAST(MONTH(date) AS VARCHAR(2)), 2)
この式により、すべての月の値に先頭にゼロが付くようになり、結果がより一貫して視覚的になります。魅力的です。
以上がSQL 結果を人間が判読できる形式で月と年ごとにグループ化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。