Categorias:

Funções de expressão condicional

[ NOT ] BETWEEN

Retorna TRUE quando a expressão de entrada (numérica ou cadeia de caracteres) estiver dentro dos limites inferior e superior especificados.

Sintaxe

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

Notas de uso

  • expr BETWEEN lower_bound AND upper_bound é equivalente a expr >= lower_bound AND expr <= upper_bound.

  • O limite superior especificado deve ser maior/superior do que o limite inferior.

Detalhes do agrupamento

A expressão A BETWEEN X AND Y é equivalente a A >= X AND A <= Y. Os agrupamentos usados para comparação com X e Y são independentes e não precisam ser idênticos, mas ambos precisam ser compatíveis com o agrupamento de A.

Exemplos

Aqui estão alguns exemplos simples de utilização de BETWEEN com valores numéricos e cadeia de caracteres:

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

O exemplo seguinte usa COLLATE com 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