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

Notes sur l’utilisation

  • expr BETWEEN lower_bound AND upper_bound équivaut à expr >= lower_bound AND expr <= upper_bound.

  • 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   |
+--------+
Copy
SELECT 'true' WHERE 1.35 BETWEEN 1 AND 2;
+--------+
| 'TRUE' |
|--------|
| true   |
+--------+
Copy
SELECT 'true' WHERE 'the' BETWEEN 'that' AND 'then';
+--------+
| 'TRUE' |
|--------|
| true   |
+--------+
Copy

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