Maison > base de données > tutoriel mysql > L'opérateur « BETWEEN » de MS SQL Server est-il inclusif ou exclusif ?

L'opérateur « BETWEEN » de MS SQL Server est-il inclusif ou exclusif ?

DDD
Libérer: 2024-12-27 21:41:14
original
178 Les gens l'ont consulté

Is MS SQL Server's `BETWEEN` Operator Inclusive or Exclusive?

Récupération de plage inclusive avec l'opérateur "BETWEEN" de MS SQL Server

Lors de l'utilisation de l'opérateur "BETWEEN" de MS SQL Server, il est essentiel de comprendre si les limites de la plage sont incluses ou exclues dans les critères de sélection.

Pour répondre à la question spécifique, le L'opérateur "BETWEEN" est inclusif. Cela signifie que, par défaut, les valeurs spécifiées comme limites inférieure et supérieure sont incluses dans le jeu de résultats. Dans l'exemple fourni :

SELECT foo
FROM bar
WHERE foo BETWEEN 5 AND 10
Copier après la connexion

La requête sélectionnera toutes les lignes où la valeur de la colonne "foo" est comprise entre (et inclus) 5 et 10.

Cependant, ce comportement inclusif peut présenter une mise en garde lorsque vous travaillez avec DateTimes. Par défaut, lorsqu'une seule date est spécifiée, SQL Server la traite comme minuit ce jour-là. Cela signifie que si vous souhaitez capturer toutes les valeurs au cours d'une journée spécifique, vous devez soustraire 3 millisecondes à la date de fin pour éviter que des données manquantes ne tombent dans les 3 millisecondes avant minuit.

Par exemple, pour récupérer toutes les valeurs dans Juin 2016, la requête correcte serait :

where myDateTime between '20160601' and DATEADD(millisecond, -3, '20160701')
Copier après la connexion

Cela garantit que vous capturez toutes les valeurs en juin 2016, y compris celles tombant dans les 3 millisecondes précédant minuit le 30 juin.

Il est important de noter que, même si pour la plupart des types de données, l'opérateur "BETWEEN" est inclusif, il existe des exceptions. Par exemple, avec les types de données "datetime2" et "datetimeoffset", il est généralement recommandé d'utiliser les caractères ">=" et "<" opérateurs au lieu de "BETWEEN" pour éviter d'éventuels problèmes de troncature de plage.

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal