Menentukan Hari Pertama Dalam Seminggu Menggunakan Nombor Minggu dalam MySQL
Apabila berurusan dengan julat tarikh, selalunya menjadi perlu untuk menentukan yang pertama hari dalam minggu tertentu. Dalam MySQL, fungsi WEEKNO menyediakan cara yang mudah untuk mencari nombor minggu untuk tarikh tertentu. Walau bagaimanapun, untuk memperhalusi analisis kami dengan lebih lanjut, kami mungkin perlu mengekstrak hari pertama dalam minggu yang sepadan dengan nombor minggu tertentu.
Pertimbangkan senario di mana kami mempunyai minggu nombor 29 dan kami ingin mendapatkan hari pertama minggu itu. Menggunakan fungsi WEEKNO sahaja tidak akan mencukupi. Sebaliknya, kita boleh menggunakan gabungan fungsi DAYOFWEEK dan ADDDATE untuk mencapai matlamat ini.
Fungsi DAYOFWEEK menentukan hari dalam minggu untuk tarikh tertentu, dengan Ahad diwakili oleh 1 dan Sabtu oleh 7. ADDDATE fungsi membolehkan kami menambah atau menolak bilangan hari tertentu daripada tarikh.
Untuk memperoleh hari pertama dalam seminggu yang diberikan nombor minggunya, kita boleh menggunakan formula berikut:
adddate(curdate(), INTERVAL 1-DAYOFWEEK(curdate()) DAY)
Ungkapan ini menambah (1 - DAYOFWEEK(curdate())) hari ke tarikh semasa. Fungsi curdate() mengembalikan tarikh semasa dan DAYOFWEEK(curdate()) menyediakan hari semasa dalam minggu. Dengan menolak atau menambah hari dengan sewajarnya, kita boleh tiba pada hari pertama dalam minggu berdasarkan hari semasa.
Sebagai contoh, jika kita kini berada dalam MINGGU 29, dan kita ingin mengetahui hari pertamanya, kita boleh melaksanakan pertanyaan berikut:
select adddate(curdate(), INTERVAL 1-DAYOFWEEK(curdate()) DAY)
Pertanyaan ini akan mengembalikan hari pertama MINGGU 29, yang dalam contoh kami ialah Ahad, Julai ke-18.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Cari Hari Pertama Nombor Minggu Tertentu dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!