Resumo :neste tutorial, você aprenderá como usar o SQLite
BETWEEN
operador para testar se um valor está em um intervalo de valores. Introdução ao SQLite BETWEEN
Operador
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 retorna verdadeiro. O BETWEEN
operador pode ser usado no WHERE
cláusula do SELECT
, DELETE
, UPDATE
e REPLACE
declarações. O seguinte ilustra a sintaxe do SQLite
BETWEEN
operador:test_expression BETWEEN low_expression AND high_expression
Code language: SQL (Structured Query Language) (sql)
Nesta sintaxe:
test_expression
é uma expressão para testar no intervalo definido porlow_expression
ehigh_expression
.low_expression
ehigh_expression
é qualquer expressão válida que especifica os valores baixo e alto do intervalo. Alow_expression
deve ser menor ou igual ahigh_expression
, ou oBETWEEN
é sempre retorna falso.- O
AND
palavra-chave é um espaço reservado que indica atest_expression
deve estar dentro do intervalo especificado porlow_expression
ehigh_expression
.
Observe que o
BETWEEN
operador é inclusivo. Ele retorna true quando a test_expression
é menor ou igual a high_expression
e maior ou igual ao valor de low_expression
:test_expression >= low_expression AND test_expression <= high_expression
Code language: SQL (Structured Query Language) (sql)
Para especificar um intervalo exclusivo, use os operadores maior que (>) e menor que (<).
Observe que, se qualquer entrada para
BETWEEN
operador é NULL, o resultado é NULL ou desconhecido para ser preciso. Para negar o resultado do
BETWEEN
operador, você usa o NOT BETWEEN
operador da seguinte forma:test_expression NOT BETWEEN low_expression AND high_expression
Code language: SQL (Structured Query Language) (sql)
O NÃO
BETWEEN
retorna true se o valor de test_expression
é menor que o valor de low_expression
ou maior que o valor de high_expression
:test_expression < low_expression OR test_expression > high_expression
Code language: SQL (Structured Query Language) (sql)
SQLite BETWEEN
exemplos de operadores
Usaremos as
invoices
tabela do banco de dados de exemplo para a demonstração:SQLite BETWEEN
exemplo de valores numéricos
A instrução 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;
Code language: SQL (Structured Query Language) (sql)
Aqui está a saída:
Como você pode ver, as faturas cujo total é 14,91 ou 18,86 são incluídas no conjunto de resultados.
SQLite NOT BETWEEN
exemplo de valores numéricos
Para encontrar as faturas cujo total não esteja entre 1 e 20, você usa o
NOT BETWEEN
operador como mostrado na seguinte consulta:SELECT
InvoiceId,
BillingAddress,
Total
FROM
invoices
WHERE
Total NOT BETWEEN 1 and 20
ORDER BY
Total;
Code language: SQL (Structured Query Language) (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.
SQLite BETWEEN
exemplo de datas
O exemplo a seguir encontra 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;
Code language: SQL (Structured Query Language) (sql)
Aqui está a saída:
SQLite NOT BETWEEN
exemplo de datas
A declaração 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;
Code language: SQL (Structured Query Language) (sql)
A saída é a seguinte:
Neste tutorial, você aprendeu como usar o SQLite
BETWEEN
operador para testar se um valor está em um intervalo de valores