Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menjana Siri Tarikh dalam MySQL?

Bagaimana untuk Menjana Siri Tarikh dalam MySQL?

Barbara Streisand
Barbara Streisandasal
2025-01-14 09:36:43876semak imbas

How to Generate a Date Series in 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:

  1. Buat jadual sementara yang mengandungi nombor berturut-turut.
  2. Gunakan fungsi adddate() untuk menambah selang tarikh yang sepadan pada setiap nombor.
  3. Gunakan fungsi date_format() untuk memformat tarikh yang dijana supaya ia mematuhi format yang dikehendaki.

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!

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