効率的な SQL のヒント: CASE ステートメントを使用せずに月番号を月名に変換する
SQL Server では、通常、月は数値 (1、2、...、12) として保存されますが、読みやすくするために、月の名前 (1 月、2 月など) で表示すると便利です。 CASE ステートメントを使用することもできますが、よりクリーンな代替手段を以下に示します。
DateName() 関数と DateAdd() 関数を上手に使用する
次のクエリは DateName() 関数と DateAdd() 関数を利用します:
<code class="language-sql">Select DateName(month, DateAdd(month, @MonthNumber, 0) - 1)</code>
原理の詳細な説明:
DateAdd(month, @MonthNumber, 0)
DateName() 関数の 0 から始まる月インデックスに合わせて、指定された月番号 (@MonthNumber) から 1 月を減算します。 DateName(month)
変更日から月名を抽出します。 もう一つの効果的な方法
もう 1 つの実現可能な解決策は次のとおりです:
<code class="language-sql">Select DateName(month, DateAdd(month, @MonthNumber, -1))</code>
原理の詳細な説明:
DateAdd(month, @MonthNumber, -1)
DateName() 関数の 1 から始まる月インデックスに合わせて、指定された月番号 (@MonthNumber) から 1 月を減算します。 DateName(month)
変更日から月名を抽出します。 どちらのクエリでも、CASE ステートメントの使用を回避しながら、月番号を対応する月名に効果的に変換できるため、コードがより簡潔かつ効率的になります。
以上がCASEステートメントを使用せずにSQLで月番号を月名に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。