ホームページ >データベース >mysql チュートリアル >SQL で月の最初の日を効率的に選択するにはどうすればよいですか?

SQL で月の最初の日を効率的に選択するにはどうすればよいですか?

DDD
DDDオリジナル
2025-01-17 23:01:09444ブラウズ

How to Efficiently Select the First Day of a Month in SQL?

SQL で月の最初の日を効率的に選択する

指定された DateTime 変数から月の最初の日を取得することは、データベース操作の一般的なタスクです。 CAST 関数を使用したコードは解決策として考えられますが、これは最も効率的または洗練されたアプローチではありません。

より良い解決策

月の最初の日を選択するには、DATEADD 関数と DATEDIFF 関数を使用する方が効率的です。次のコードは、この手法を示しています:

<code class="language-sql">SELECT DATEADD(month, DATEDIFF(month, 0, @mydate), 0) AS StartOfMonth</code>

手順:

  • DATEDIFF(month, 0, @mydate) 指定された DateTime 変数 @mydate と現在の月の始まり (つまり、1 月 1 日) との差を計算します。
  • DATEADD(month, DATEDIFF(month, 0, @mydate), 0) 計算された差を現在の月の初めに加算して、@mydate 月の最初の日を取得します。

この方法は、CAST 関数を使用した以前の方法よりも高速かつ簡潔です。

以上がSQL で月の最初の日を効率的に選択するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。