ホームページ > データベース > mysql チュートリアル > CASEステートメントを使用せずにSQLで月番号を月名に変換するにはどうすればよいですか?

CASEステートメントを使用せずにSQLで月番号を月名に変換するにはどうすればよいですか?

DDD
リリース: 2025-01-18 19:26:13
オリジナル
532 人が閲覧しました

How to Convert Month Numbers to Month Names in SQL without CASE Statements?

効率的な 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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート