ホームページ >データベース >mysql チュートリアル >SQL で月の最初の日を効率的に取得するにはどうすればよいですか?
SQL で月の最初の日を効率的に選択する
SQL では、指定された月の初日を取得することが一般的な要件です。年と月を文字列に変換してから「/01」を追加するという従来のアプローチ (以下に示すように) は機能しますが、効率性と優雅さに欠けます。
<code class="language-sql">SELECT CAST(CAST(YEAR(@mydate) AS VARCHAR(4)) + '/' + CAST(MONTH(@mydate) AS VARCHAR(2)) + '/01' AS DATETIME)</code>
より効率的な代替手段
より効率的で柔軟なアプローチは、DATEADD() 関数と DATEDIFF() 関数を組み合わせて使用することです。
<code class="language-sql">SELECT DATEADD(month, DATEDIFF(month, 0, @mydate), 0) AS StartOfMonth</code>このメソッドは次のことを行います:
以上がSQL で月の最初の日を効率的に取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。