Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menjana Siri Tarikh dalam MySQL?
Jana jujukan tarikh dalam MySQL
Soalan:
Bagaimana untuk mencipta siri tarikh dalam MySQL, serupa dengan fungsi generate_series() dalam PostgreSQL?
Jawapan:
MySQL tidak mempunyai persamaan langsung dengan generate_series(), tetapi kami boleh mencapai hasil yang serupa dengan mengikuti langkah berikut:
Berikut ialah contoh pertanyaan untuk membuat julat tarikh dari 1 Januari 2011 hingga 31 Disember 2011:
<code class="language-sql">SELECT DATE_FORMAT( ADDDATE('2011-01-01', @num := @num + 1), '%Y-%m-%d' ) AS 日期 FROM 任意表, (SELECT @num := -1) AS num LIMIT 365;</code>
Dalam pertanyaan ini:
任意表
ialah jadual sementara yang mengandungi satu atau lebih baris (mana-mana jadual boleh digunakan, kerana hanya bilangan baris digunakan). @num := @num 1
Mencipta urutan nombor berturut-turut bermula dari 0. ADDDATE('2011-01-01', @num := @num 1)
Tambahkan selang tarikh yang sepadan pada setiap nombor. DATE_FORMAT()
Format tarikh yang dijana ke dalam format yang diingini. LIMIT 365
Menentukan bilangan tarikh untuk dijana (365 untuk tahun bukan lompat). Kaedah ini membolehkan kami menjana jujukan tarikh dalam MySQL tanpa memerlukan jadual kalendar yang berasingan. Ambil perhatian bahawa 任意表
boleh digantikan dengan mana-mana jadual sedia ada atau digunakan untuk membuat baris data sementara. Ini adalah penyelesaian kerana MySQL sendiri tidak menyediakan fungsi langsung seperti PostgreSQL SELECT 1 UNION ALL SELECT 1 ...
. generate_series
Atas ialah kandungan terperinci Bagaimana untuk Menjana Siri Tarikh dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!