Rumah >pangkalan data >tutorial mysql >Bagaimana Mencari Hari Pertama dalam Seminggu Diberi Nombor Minggunya dalam MySQL?

Bagaimana Mencari Hari Pertama dalam Seminggu Diberi Nombor Minggunya dalam MySQL?

Patricia Arquette
Patricia Arquetteasal
2024-12-21 08:50:081044semak imbas

How to Find the First Day of a Week Given Its Week Number in MySQL?

Menentukan Hari Pertama dalam Minggu dari Nombor Minggu dalam MySQL

Tugas biasa dalam analisis data atau pengurusan kalendar ialah menentukan hari pertama seminggu berdasarkan nombor minggunya. Dalam MySQL, kami boleh memanfaatkan teknik mudah untuk mengekstrak maklumat ini.

Penyelesaian:

Untuk mendapatkan semula hari pertama minggu tertentu daripada nombor minggunya, kami boleh menggunakan perkara berikut pertanyaan:

SELECT DATE(DATE_SUB(DATE(DATE_ADD(NOW(), INTERVAL 1 DAY)), INTERVAL WEEKDAY(DATE(DATE_ADD(NOW(), INTERVAL 1 DAY))) + 1 DAY)) AS WeekStart;

Penjelasan:

  • DATE_ADD(NOW(), INTERVAL 1 DAY): Ini menambah satu hari pada tarikh semasa dan menukarnya kepada nilai DATE, memastikan kita bermula dengan penomboran minggu berasaskan Isnin.
  • WEEKDAY(): Fungsi ini mengembalikan nombor hari bekerja (0 untuk Ahad, 6 untuk Sabtu) pada tarikh yang diberikan.
  • DATE_SUB(): Kami menolak nombor hari bekerja tambah 1 daripada tarikh untuk mendapatkan semula hari Ahad (hari pertama dalam minggu). Penambahan 1 adalah perlu kerana WEEKDAY() mengembalikan 0 untuk hari Ahad, manakala Ahad harus dialihkan ke skema penomboran akhir minggu.
  • DATE(): Akhir sekali, kami menggunakan fungsi DATE() untuk mengalih keluar komponen masa dan kembalikan tarikh sahaja.

Contoh:

Jom hitung hari pertama minggu semasa, iaitu minggu 29:

SELECT DATE(DATE_SUB(DATE(DATE_ADD(NOW(), INTERVAL 1 DAY)), INTERVAL WEEKDAY(DATE(DATE_ADD(NOW(), INTERVAL 1 DAY))) + 1 DAY)) AS WeekStart;

Pertanyaan ini akan mengembalikan tarikh "2023-07-18", yang sepadan dengan Ahad, hari pertama minggu 29.

Atas ialah kandungan terperinci Bagaimana Mencari Hari Pertama dalam Seminggu Diberi Nombor Minggunya dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn