Maison > base de données > tutoriel mysql > Comment puis-je identifier les plages de dates qui se chevauchent dans MySQL ?

Comment puis-je identifier les plages de dates qui se chevauchent dans MySQL ?

Linda Hamilton
Libérer: 2025-01-18 08:06:12
original
131 Les gens l'ont consulté

How Can I Identify Overlapping Date Ranges in MySQL?

Identifier les plages de dates qui se chevauchent dans MySQL

Dans MySQL, vous pouvez déterminer si une plage de dates spécifiée chevauche une liste prédéfinie de plages de dates en appliquant intelligemment une logique inverse.

Voici un exemple :

<code>1983年6月10日至1983年6月14日
1983年7月15日至1983年7月16日
1983年7月18日至1983年7月18日</code>
Copier après la connexion

Si nous voulons vérifier si la plage de dates du 6 juin 1983 au 18 juin 1983 chevauche une plage définie, nous pouvons déterminer la condition suivante :

Période ne figurant pas dans la liste :

  • L'heure de début est postérieure à l'heure de fin de la période de comparaison.
  • L'heure de fin est antérieure à l'heure de début de la période de comparaison.

En excluant les périodes qui correspondent à ces critères, nous identifions efficacement toutes les périodes qui se chevauchent.

Cas frontaliers :

  • La date de fin est égale à la date de début de la période de comparaison.
  • La date de début est égale à la date de fin de la période de comparaison.

Ces situations doivent être considérées individuellement pour déterminer si elles se chevauchent.

La requête SQL suivante peut être utilisée pour récupérer des lignes qui se chevauchent en fonction de la logique inverse :

<code class="language-sql">SELECT *
FROM periods
WHERE range_start = @check_period_start</code>
Copier après la connexion

En utilisant l'opérateur NOT dans la clause WHERE, une requête qui autrement trouverait des lignes qui ne se chevauchent pas est annulée, renvoyant ainsi les lignes qui se chevauchent.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal