Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menyoal MySQL untuk Rekod Dalam Minggu Semasa?

Bagaimana untuk Menyoal MySQL untuk Rekod Dalam Minggu Semasa?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-26 01:46:03856semak imbas

How to Query MySQL for Records Within the Current Week?

Menyoal MySQL untuk Rekod dalam Minggu Semasa

Menentukan rekod dari minggu semasa dalam pangkalan data MySQL boleh dicapai melalui pelbagai pendekatan. Satu kaedah yang dicadangkan melibatkan pengiraan hari bekerja, Isnin sebelumnya, tarikh Isnin, tarikh Ahad akan datang, dan membuat permintaan berdasarkan tarikh yang dikira. Walau bagaimanapun, pendekatan yang lebih ringkas menggunakan fungsi YEARWEEK() tersedia.

YEARWEEK() ialah fungsi MySQL yang mengembalikan nombor minggu tarikh tertentu, dengan hari permulaan lalai ditetapkan kepada Ahad. Untuk membuat pertanyaan untuk rekod dalam minggu semasa, termasuk Isnin hingga Ahad, gunakan YEARWEEK() seperti berikut:

<code class="sql">SELECT *
FROM   your_table
WHERE  YEARWEEK(`date`, 1) = YEARWEEK(CURDATE(), 1)</code>

Pertanyaan ini menentukan nombor minggu untuk lajur tarikh setiap baris, dengan mengambil kira hari Ahad sebagai hari pertama minggu (parameter 1). Ia kemudian membandingkan nombor minggu setiap baris dengan nombor minggu tarikh semasa (CURDATE()), dengan berkesan mendapatkan semula rekod yang jatuh dalam minggu yang sama.

Membetulkan Julat Tarikh untuk Rekod Minggu

Contoh pertanyaan yang diberikan dalam soalan:

<code class="sql">SELECT *
FROM   temp
WHERE  yearweek(`date`) = yearweek(curdate())</code>

salah mengambil semula rekod dari Ahad hingga Sabtu (17.11.2013 hingga 23.11.2013) kerana lalai bermula hari Ahad. Untuk melaraskan hari Isnin sebagai hari pertama dalam minggu dan mendapatkan semula rekod dari 18.11.2013 hingga 24.11.2013, gunakan pertanyaan yang diubah suai berikut:

<code class="sql">SELECT *
FROM   temp
WHERE  YEARWEEK(`date`, 1) = YEARWEEK(CURDATE(), 1)</code>

Dengan menyatakan hari permulaan sebagai Isnin (parameter 1), fungsi YEARWEEK() memastikan bahawa sempadan minggu sejajar dengan julat yang diingini.

Atas ialah kandungan terperinci Bagaimana untuk Menyoal MySQL untuk Rekod Dalam Minggu Semasa?. 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