Maison >base de données >tutoriel mysql >Filtrage de plage de dates SQL : quand utiliser ENTRE vs. >= et

Filtrage de plage de dates SQL : quand utiliser ENTRE vs. >= et

Patricia Arquette
Patricia Arquetteoriginal
2025-01-07 08:36:40855parcourir

SQL Date Range Filtering: When to Use BETWEEN vs. >= et = et " />

SQL : ENTRE vs "<=" et ">="

Dans SQL Server 2000 et 2005, l'opérateur BETWEEN et la combinaison de "<=" et ">" Les opérateurs de filtrage de plages de dates présentent des caractéristiques distinctes.

Opérateur BETWEEN

L'opérateur BETWEEN est une syntaxe abrégée qui simplifie l'expression d'une comparaison de plages. Par exemple, les deux requêtes suivantes filtrent les lignes en fonction de la même plage de dates d'événement :

Requête 1 :

SELECT EventId, EventName
FROM EventMaster
WHERE EventDate BETWEEN '10/15/2009' AND '10/18/2009'

Requête 2 :

SELECT EventId, EventName
FROM EventMaster
WHERE EventDate >= '10/15/2009' AND EventDate <= '10/18/2009'

Malgré leurs différences syntaxiques, les deux requêtes donnent des résultats identiques, soulignant que BETWEEN n'est qu'un abréviation de la syntaxe plus longue.

Utilisation situationnelle

Le choix entre utiliser ENTRE et les "<=" et ">" opérateurs dépend du scénario spécifique :

  • Utiliser ENTRE : Lorsque les deux extrémités de la plage doivent être incluses.
  • Utiliser "<= " et ">": Lorsqu'un ou les deux points de terminaison doivent être exclus. Par exemple :
SELECT EventId, EventName
FROM EventMaster
WHERE EventDate >= '10/15/2009' AND EventDate < '10/19/2009'

Gestion de DATETIME

Lorsque vous travaillez avec des types de données DATETIME (par opposition à DATE), il est crucial de noter que le L’opérateur BETWEEN prend également en compte la composante temporelle. Cela signifie que la requête suivante :

EventDate BETWEEN '10/15/2009' AND '10/18/2009'

Filtrera efficacement les lignes pour la plage allant de « 2009-10-15 00:00 » à « 2009-10-18 00:00 », excluant potentiellement les lignes sur 18 octobre 2009.

Pour inclure toutes les lignes du 18 octobre, 2009, la requête doit être modifiée :

EventDate BETWEEN '2009-10-15 00:00' AND '2009-10-18 23:59:59'

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
Article précédent:ENTRE vs. >= etArticle suivant:ENTRE vs. >= et