Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menjana Julat Tarikh dalam MySQL Menggunakan Aritmetik Tarikh dan Subkueri?

Bagaimana untuk Menjana Julat Tarikh dalam MySQL Menggunakan Aritmetik Tarikh dan Subkueri?

DDD
DDDasal
2025-01-19 01:07:08202semak imbas

How to Generate Date Ranges in MySQL Using Date Arithmetic and Subqueries?

Gunakan operasi tarikh MySQL dan subquery untuk menjana julat tarikh

Dalam SQL, mendapatkan semula senarai tarikh dalam julat tertentu boleh dicapai dengan menggunakan gabungan operasi tarikh dan subkueri. Begini cara untuk mencapainya:

Untuk menjana senarai tarikh antara dua tarikh, kita boleh menggunakan kaedah subquery. Satu set subkueri bersarang, setiap satu menghasilkan urutan nombor (dari 0 hingga 9) yang digabungkan dengan penambahan untuk membentuk nilai tarikh yang dikehendaki.

Pertanyaan berikut menunjukkan teknik ini:

<code class="language-sql">select * from
(select adddate('1970-01-01',t4.i*10000 + t3.i*1000 + t2.i*100 + t1.i*10 + t0.i) selected_date from
 (select 0 i union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9) t0,
 (select 0 i union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9) t1,
 (select 0 i union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9) t2,
 (select 0 i union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9) t3,
 (select 0 i union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9) t4) v
where selected_date between '2012-02-10' and '2012-02-15'</code>

Pertanyaan ini akan menjana senarai tarikh dari '2012-02-10' hingga '2012-02-15' (termasuk). Keputusan adalah seperti berikut:

<code>date
----------
2012-02-10
2012-02-11
2012-02-12
2012-02-13
2012-02-14
2012-02-15</code>

Kaedah ini membolehkan menjana julat tarikh yang menjangkau hampir 300 tahun pada masa hadapan atau masa lalu.

Atas ialah kandungan terperinci Bagaimana untuk Menjana Julat Tarikh dalam MySQL Menggunakan Aritmetik Tarikh dan Subkueri?. 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