Catégories :

Fonctions d’expressions conditionnelles

[ NOT ] BETWEEN

Renvoie TRUE lorsque l’expression d’entrée (numérique ou chaîne) se trouve dans les limites inférieure et supérieure spécifiées.

Syntaxe

<expr> [ NOT ] BETWEEN <lower_bound> AND <upper_bound>

Notes sur l’utilisation

  • expr BETWEEN limite_inf AND limite_sup équivaut à expr >= limite_inf AND expr <= limite_sup.

  • La limite supérieure spécifiée doit être plus grande/supérieure à la limite inférieure.

Détails du classement

L’expression A BETWEEN X AND Y équivaut à A >= X AND A <= Y. Les classements utilisés pour comparer X et Y sont indépendants et n’ont pas besoin d’être identiques, mais ils doivent tous deux être compatibles avec le classement de A.

Exemples

Voici quelques exemples simples d’utilisation de BETWEEN avec des valeurs numériques et des valeurs de chaîne :

SELECT 'true' WHERE 1 BETWEEN 0 AND 10;
+--------+
| 'TRUE' |
|--------|
| true   |
+--------+
SELECT 'true' WHERE 1.35 BETWEEN 1 AND 2;
+--------+
| 'TRUE' |
|--------|
| true   |
+--------+
SELECT 'true' WHERE 'the' BETWEEN 'that' AND 'then';
+--------+
| 'TRUE' |
|--------|
| true   |
+--------+

L’exemple suivant utilise COLLATE avec BETWEEN :

SELECT 'm' BETWEEN COLLATE('A', 'lower') AND COLLATE('Z', 'lower');
+-------------------------------------------------------------+
| 'M' BETWEEN COLLATE('A', 'LOWER') AND COLLATE('Z', 'LOWER') |
|-------------------------------------------------------------|
| True                                                        |
+-------------------------------------------------------------+
SELECT COLLATE('m', 'upper') BETWEEN 'A' AND 'Z';
+-------------------------------------------+
| COLLATE('M', 'UPPER') BETWEEN 'A' AND 'Z' |
|-------------------------------------------|
| True                                      |
+-------------------------------------------+