Resumo : neste tutorial, você aprenderá como usar o BETWEEN
operador SQLite para testar se um valor está em um intervalo de valores.
BETWEEN
Introdução ao operador SQLite
O BETWEEN
operador é um operador lógico que testa se um valor está no intervalo de valores. Se o valor estiver no intervalo especificado, o BETWEEN
operador retornará verdadeiro. O BETWEEN
operador pode ser usado na WHERE
cláusula das instruções SELECT
, DELETE
, UPDATE
e REPLACE
.
O seguinte ilustra a sintaxe do BETWEEN
operador SQLite:
test_expression BETWEEN low_expression AND high_expression
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Nesta sintaxe:
test_expression
é uma expressão a ser testada no intervalo definido porlow_expression
ehigh_expression
.low_expression
ehigh_expression
é qualquer expressão válida que especifique os valores baixos e altos do intervalo. Develow_expression
ser menor ou igual ahigh_expression
, ouBETWEEN
is sempre retorna falso.- A
AND
palavra-chave é um espaço reservado que indica quetest_expression
deve estar dentro do intervalo especificado porlow_expression
ehigh_expression
.
Observe que o BETWEEN
operador é inclusivo. Ele retorna verdadeiro quando the test_expression
é menor ou igual high_expression
e maior ou igual ao valor de low_expression
:
test_expression >= low_expression AND test_expression <= high_expression
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Para especificar um intervalo exclusivo, você usa os operadores maior que (>) e menor que (<).
Observe que se qualquer entrada do BETWEEN
operador for NULL, o resultado será NULL ou desconhecido para ser mais preciso.
Para negar o resultado do BETWEEN
operador, você usa o NOT BETWEEN
operador da seguinte maneira:
test_expression NOT BETWEEN low_expression AND high_expression
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
O NOT BETWEEN
retorna verdadeiro se o valor de test_expression
for menor que o valor de low_expression
ou maior que o valor de high_expression
:
test_expression < low_expression OR test_expression > high_expression
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
BETWEEN
Exemplos de operadores SQLite
Usaremos a invoices
tabela do banco de dados de exemplo para a demonstração:
BETWEEN
Exemplo de valores numéricos SQLite
O extrato a seguir encontra faturas cujo total é between
14,96 e 18,86:
SELECT
InvoiceId,
BillingAddress,
Total
FROM
invoices
WHERE
Total BETWEEN 14.91 and 18.86
ORDER BY
Total;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Aqui está a saída:
Como você pode ver, as faturas cujo total é 14,91 ou 18,86 estão incluídas no conjunto de resultados.
NOT BETWEEN
Exemplo de valores numéricos SQLite
Para encontrar as faturas cujo total não esteja entre 1 e 20, você utiliza o NOT BETWEEN
operador conforme mostrado na consulta a seguir:
SELECT
InvoiceId,
BillingAddress,
Total
FROM
invoices
WHERE
Total NOT BETWEEN 1 and 20
ORDER BY
Total;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
A imagem a seguir mostra a saída:
Conforme mostrado claramente na saída, o resultado inclui as faturas cujo total é menor que 1 e maior que 20.
BETWEEN
Exemplo de datas SQLite
O exemplo a seguir localiza faturas cujas datas de fatura são de January 1 2010
e January 31 2010
:
SELECT
InvoiceId,
BillingAddress,
InvoiceDate,
Total
FROM
invoices
WHERE
InvoiceDate BETWEEN '2010-01-01' AND '2010-01-31'
ORDER BY
InvoiceDate;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Aqui está a saída:
NOT BETWEEN
Exemplo de datas SQLite
O extrato a seguir encontra faturas cujas datas não estão entre 03 de janeiro de 2009 e 01 de dezembro de 2013:
SELECT
InvoiceId,
BillingAddress,
date(InvoiceDate) InvoiceDate,
Total
FROM
invoices
WHERE
InvoiceDate NOT BETWEEN '2009-01-03' AND '2013-12-01'
ORDER BY
InvoiceDate;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
A saída é a seguinte:
Neste tutorial, você aprendeu como usar o BETWEEN
operador SQLite para testar se um valor está em um intervalo de valores