Comment effectuer des calculs de dates en ignorant l'année
Pour sélectionner les dates qui ont un anniversaire dans les 14 prochains jours, à l'exclusion de l'année, considérez en utilisant l'approche suivante :
SELECT * FROM event WHERE f_mmdd(event_date) BETWEEN f_mmdd(current_date) AND f_mmdd(current_date + 14);
Cette requête utilise la fonction f_mmdd() pour calculer une valeur entière à partir du modèle MMDD de la date. Les valeurs résultantes sont utilisées pour comparer avec la date actuelle et une date dans 14 jours dans le futur.
La fonction f_mmdd() est définie comme suit :
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';
Cette fonction permet de création d'un index d'expression multicolonne sur la colonne event_mmdd_event_date_idx, optimisant les performances des requêtes.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!