Maison >base de données >tutoriel mysql >Comment puis-je effectuer des calculs de date en ignorant l'année ?

Comment puis-je effectuer des calculs de date en ignorant l'année ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-31 22:17:10329parcourir

How Can I Perform Date Calculations Ignoring the Year?

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn