Shrnutí :v tomto tutoriálu se naučíte používat SQLite BETWEEN
operátor, který otestuje, zda je hodnota v rozsahu hodnot.
Úvod do SQLite BETWEEN
Operátor
BETWEEN
Operátor je logický operátor, který testuje, zda je hodnota v rozsahu hodnot. Pokud je hodnota v určeném rozsahu, BETWEEN
operátor vrátí true. BETWEEN
operátor lze použít v WHERE
klauzule SELECT
, DELETE
, UPDATE
a REPLACE
prohlášení.
Následující text ilustruje syntaxi SQLite BETWEEN
operátor:
test_expression BETWEEN low_expression AND high_expression
Code language: SQL (Structured Query Language) (sql)
V této syntaxi:
test_expression
je výraz, který se má testovat v rozsahu definovaném parametremlow_expression
ahigh_expression
.low_expression
ahigh_expression
je jakýkoli platný výraz, který určuje nízké a vysoké hodnoty rozsahu.low_expression
by měl být menší nebo rovenhigh_expression
neboBETWEEN
je vždy vrací false.AND
klíčové slovo je zástupný symbol, který označujetest_expression
by měl být v rozsahu určeném parametremlow_expression
ahigh_expression
.
Všimněte si, že BETWEEN
operátor je v ceně. Vrací hodnotu true při test_expression
je menší nebo roven high_expression
a větší nebo rovno hodnotě low_expression
:
test_expression >= low_expression AND test_expression <= high_expression
Code language: SQL (Structured Query Language) (sql)
Chcete-li zadat exkluzivní rozsah, použijte operátory větší než (>) a menší než (<).
Všimněte si, že pokud je nějaký vstup do BETWEEN
operátor je NULL, výsledek je NULL, přesněji neznámý.
Chcete-li negovat výsledek BETWEEN
operátor, použijete NOT BETWEEN
operátor takto:
test_expression NOT BETWEEN low_expression AND high_expression
Code language: SQL (Structured Query Language) (sql)
NE BETWEEN
vrátí hodnotu true, pokud je hodnota test_expression
je menší než hodnota low_expression
nebo větší než hodnota high_expression
:
test_expression < low_expression OR test_expression > high_expression
Code language: SQL (Structured Query Language) (sql)
SQLite BETWEEN
příklady operátorů
Použijeme invoices
tabulka z ukázkové databáze pro ukázku:
SQLite BETWEEN
příklad číselných hodnot
Následující výpis najde faktury, jejichž součet je between
14,96 a 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)
Zde je výstup:
Jak vidíte, do sady výsledků jsou zahrnuty faktury, jejichž celková hodnota je 14,91 nebo 18,86.
SQLite NOT BETWEEN
příklad číselných hodnot
Chcete-li najít faktury, jejichž součet není mezi 1 a 20, použijte NOT BETWEEN
operátor, jak je znázorněno v následujícím dotazu:
SELECT
InvoiceId,
BillingAddress,
Total
FROM
invoices
WHERE
Total NOT BETWEEN 1 and 20
ORDER BY
Total;
Code language: SQL (Structured Query Language) (sql)
Následující obrázek ukazuje výstup:
Jak jasně ukazuje výstup, výsledek zahrnuje faktury, jejichž součet je menší než 1 a větší než 20.
SQLite BETWEEN
příklad dat
Následující příklad najde faktury, jejichž data faktur jsou z January 1 2010
a 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)
Zde je výstup:
SQLite NOT BETWEEN
příklad dat
Následující výpis najde faktury, jejichž data nejsou mezi 3. lednem 2009 a 1. prosincem 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)
Výstup je následující:
V tomto tutoriálu jste se naučili používat SQLite BETWEEN
operátor, který otestuje, zda je hodnota v rozsahu hodnot