週番号に基づいて MySQL で週の最初の日を取得する
週番号を使用して特定の週の最初の日を決定するのは次のとおりです。データベースプログラミングにおける一般的なタスク。 MySQL の強力な日付関数を使用すると、これを効率的に実行できます。
課題:
週番号が与えられた場合、MySQL でその週の最初の日を取得するにはどうすればよいですか? ?たとえば、現在第 29 週であることがわかっているので、指定された週番号パラメーターから 7 月 18 日の日曜日を抽出しようとします。
解決策:
MySQL が提供するものこの問題に対処するための直接的なアプローチ。 DAYOFWEEK() 関数を使用すると、現在の平日を 1 (日曜日) から 7 (土曜日) までの範囲で決定できます。 DAYOFWEEK() 値を 1 から引くことで、前の日曜日からの日数を計算します。
ADDDATE() 関数を使用すると、計算された日数を現在の日付から引くことができます。週の最初の日:
ADDDATE(CURDATE(), INTERVAL 1-DAYOFWEEK(CURDATE()) DAY) WeekStart
このクエリを使用すると、現在の日付に基づいて週の最初の曜日を取得できます。このロジックをさらに任意の週番号に拡張するには、クエリ内の週番号をパラメータ化します。
ADDDATE(CURDATE(), INTERVAL 1-DAYOFWEEK(CURDATE())+(7 * (WEEKNO - WEEK(CURDATE()))) DAY) WeekStart
このクエリは、指定された WEEKNO パラメータの週の最初の曜日を返します。この例では、WEEKNO を 29 に置き換えると、次のような望ましい結果が得られます: 7 月 18 日日曜日.
以上がMySQL で指定された週番号の最初の日を見つけるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。