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!