Détermine si la valeur d’une expression est comprise dans une plage de valeurs spécifiée. Vous pouvez utiliser cet opérateur dans des instructions SQL.
Syntaxe
expr [Not] Betweenvalue1Andvalue2
La syntaxe de l’opérateur Between...And comporte les éléments suivants :
Élément |
Description |
expr |
Expression identifiant le champ qui contient les données que vous souhaitez évaluer. |
value1, value2 |
Expressions par rapport auxquelles vous souhaitez évaluer expr. |
Remarques
Si la valeur de expr est comprise entre value1 et value2 (incluse), l’opérateur Between...And renvoie True ; sinon, il renvoie False. Vous pouvez inclure l’opérateur logique Not pour évaluer la condition opposée (autrement dit, si expr est en dehors de la plage définie par value1 et value2).
Vous pouvez utiliser Between...And pour déterminer si la valeur d’un champ est comprise dans une plage numérique spécifiée. L’exemple suivant détermine si une commande a été expédiée à un emplacement compris dans une plage de codes postaux. Si le code postal est compris entre 98101 et 98199, la fonction IIf renvoie « Local ». Sinon, elle renvoie « Nonlocal ».
SELECT IIf(PostalCode Between 98101 And 98199, “Local”, “Nonlocal”) FROM Publishers
Si expr, value1 ou value2 est Null, Between...And renvoie une valeur Null.
Étant donné que les caractères génériques, tels que *, sont traités en tant que littéraux, vous ne pouvez pas les utiliser avec l’opérateur Between...And. Par exemple, vous ne pouvez pas utiliser 980* et 989* pour rechercher tous les codes postaux commençant par des nombres compris entre 980 et 989. Pour cela, vous disposez de deux alternatives. Vous pouvez ajouter une expression à la requête afin d’extraire les trois caractères de gauche du champ de texte et utiliser Between...And sur ces caractères. Ou vous pouvez étoffer les valeurs hautes et basses avec des caractères supplémentaires — dans ce cas, 98000 à 98999, ou 98000 à 98999 (9999 si vous utilisez des codes postaux étendus). (Vous devez omettre – 0000 des valeurs basses, faute de quoi 98000 sera abandonné si certains codes postaux présentent des sections étendues et pas d’autres.)