sql >> Databáze >  >> RDS >> SQLite

SQLite MEZI

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 parametrem low_expression a high_expression .
  • low_expression a high_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 roven high_expression nebo BETWEEN je vždy vrací false.
  • AND klíčové slovo je zástupný symbol, který označuje test_expression by měl být v rozsahu určeném parametrem low_expression a high_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


  1. Co v SQL znamená použití závorek s OR?

  2. Umění agregace dat v SQL od jednoduchých po posuvné agregace

  3. Jak přejmenovat název sloupce nebo název tabulky v SQL Server - SQL Server / Kurz T-SQL, část 36

  4. AKTUALIZACE PHP MYSQL, pokud existuje, nebo INSERT, pokud ne?