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
Libérer: 2025-01-07 08:36:40
original
889 Les gens l'ont consulté

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'
Copier après la connexion

Requête 2 :

SELECT EventId, EventName
FROM EventMaster
WHERE EventDate >= '10/15/2009' AND EventDate <= '10/18/2009'
Copier après la connexion

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'
Copier après la connexion

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'
Copier après la connexion

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'
Copier après la connexion

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 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