ホームページ >データベース >mysql チュートリアル >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 サイトの他の関連記事を参照してください。