Menjana Julat Tarikh menggunakan SQL Query
Apabila bekerja dengan pangkalan data SQL, mengambil data untuk julat masa tertentu adalah tugas biasa. Bayangkan mempunyai pertanyaan SQL yang memerlukan parameter tarikh dan keperluan untuk melaksanakannya berulang kali untuk setiap hari tahun lalu. Untuk mengelak daripada memasukkan setiap tarikh secara manual, menjana senarai tarikh dinamik adalah perlu.
Satu pendekatan adalah untuk mencipta senarai berangka (0 hingga 364) dan memanipulasi tarikh menggunakan fungsi SQL SYSDATE. Walau bagaimanapun, kaedah yang lebih cekap wujud, menghapuskan keperluan untuk jadual besar atau pengiraan perantaraan.
Pertimbangkan pertanyaan SQL berikut:
SELECT TRUNC (SYSDATE - ROWNUM) dt FROM DUAL CONNECT BY ROWNUM < 366
Pertanyaan ini memanfaatkan kuasa klausa CONNECT BY SQL, yang menjana baris secara rekursif berdasarkan keadaan yang ditentukan. Dalam kes ini, syaratnya ialah ROWNUM < 366, yang memastikan bahawa 366 baris dijana.
Setiap baris mewakili tarikh, bermula dari SYSDATE hari semasa dan menolak nilai ROWNUM. Fungsi TRUNC memudahkan tarikh untuk memasukkan hanya komponen hari, bulan dan tahun, tidak termasuk sebarang maklumat masa.
Akibatnya, pertanyaan ini menghasilkan senarai 365 tarikh yang berbeza, mewakili setiap hari dalam setahun yang lalu , yang boleh digunakan dengan mudah sebagai parameter untuk pertanyaan SQL yang dikehendaki. Teknik ini menyelaraskan proses penjanaan tarikh dan menghapuskan keperluan untuk kemasukan manual yang menyusahkan atau carian jadual tambahan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menjana Julat Tarikh dengan Cekap dalam SQL untuk Tahun Lalu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!