Maison >base de données >tutoriel mysql >Filtrage de plage de dates SQL : quand utiliser ENTRE vs. >= et
= 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.
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.
Le choix entre utiliser ENTRE et les "<=" et ">" opérateurs dépend du scénario spécifique :
SELECT EventId, EventName FROM EventMaster WHERE EventDate >= '10/15/2009' AND EventDate < '10/19/2009'
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!