Rumah >pangkalan data >tutorial mysql >Bagaimana Saya Boleh Melakukan Pengiraan Tarikh Mengabaikan Tahun?

Bagaimana Saya Boleh Melakukan Pengiraan Tarikh Mengabaikan Tahun?

Barbara Streisand
Barbara Streisandasal
2024-12-31 22:17:10307semak imbas

How Can I Perform Date Calculations Ignoring the Year?

Cara Melakukan Pengiraan Tarikh Mengabaikan Tahun

Untuk memilih tarikh yang mempunyai ulang tahun dalam tempoh 14 hari akan datang, tidak termasuk tahun, pertimbangkan menggunakan pendekatan berikut:

SELECT *
FROM event
WHERE f_mmdd(event_date) BETWEEN f_mmdd(current_date)
                            AND     f_mmdd(current_date + 14);

Pertanyaan ini menggunakan fungsi f_mmdd() untuk mengira nilai integer daripada corak MMDD tarikh. Nilai yang terhasil digunakan untuk membandingkan dengan tarikh semasa dan tarikh 14 hari pada masa hadapan.

Fungsi f_mmdd() ditakrifkan seperti berikut:

CREATE OR REPLACE FUNCTION f_mmdd(date)
  RETURNS int LANGUAGE sql IMMUTABLE PARALLEL SAFE STRICT AS
'SELECT EXTRACT(month FROM )::int * 100 + EXTRACT(day FROM )::int';

Fungsi ini membenarkan penciptaan indeks ungkapan berbilang lajur pada lajur event_mmdd_event_date_idx, mengoptimumkan prestasi pertanyaan.

Atas ialah kandungan terperinci Bagaimana Saya Boleh Melakukan Pengiraan Tarikh Mengabaikan Tahun?. 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