SQLite
 sql >> Base de Dados >  >> RDS >> SQLite

SQLite ENTRE


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 por low_expression e high_expression .
  • low_expression e high_expression é qualquer expressão válida que especifica os valores baixo e alto do intervalo. A low_expression deve ser menor ou igual a high_expression , ou o BETWEEN é sempre retorna falso.
  • O AND palavra-chave é um espaço reservado que indica a test_expression deve estar dentro do intervalo especificado por low_expression e high_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