Rumah >pangkalan data >tutorial mysql >Bagaimana Mencari Acara dengan Ulang Tahun dalam 14 Hari Seterusnya (Mengabaikan Tahun)?
Cara Melaksanakan Tarikh Matematik Mengabaikan Tahun
Tugasnya adalah untuk memilih tarikh yang mempunyai ulang tahun dalam tempoh 14 hari akan datang, tidak termasuk tahun dari pengiraan.
Contoh Pertanyaan
Pendekatan 1: Jana Siri Ulang Tahun
WITH anniversaries AS ( SELECT event_id, event_date, (event_date + (n || ' years')::interval)::date AS anniversary FROM event, generate_series(13, 113) n ) SELECT event_id, event_date FROM anniversaries WHERE anniversary BETWEEN current_date AND current_date + interval '14' day;
Pendekatan 2: Kira Ulang Tahun
SELECT event_id, event_date FROM event WHERE extract(month FROM age(current_date + 14, event_date)) = 0 AND extract(day FROM age(current_date + 14, event_date)) <= 14;
Pendekatan 3: Menggunakan a Fungsi
CREATE OR REPLACE FUNCTION this_years_birthday(_dut date) RETURNS date LANGUAGE sql AS $func$ SELECT (date_trunc('year', now()) + ( - date_trunc('year', )))::date $func$; SELECT * FROM event e WHERE this_years_birthday(event_date) BETWEEN current_date AND (current_date + 14);
Nota:
Atas ialah kandungan terperinci Bagaimana Mencari Acara dengan Ulang Tahun dalam 14 Hari Seterusnya (Mengabaikan Tahun)?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!