SQLite
 sql >> Datenbank >  >> RDS >> SQLite

SQLite ZWISCHEN

Zusammenfassung :In diesem Tutorial erfahren Sie, wie Sie den SQLite BETWEEN verwenden Operator, um zu testen, ob ein Wert in einem Wertebereich liegt.

Einführung in SQLite BETWEEN Betreiber

Der BETWEEN Operator ist ein logischer Operator, der testet, ob ein Wert im Wertebereich liegt. Wenn der Wert im angegebenen Bereich liegt, wird der BETWEEN Der Operator gibt wahr zurück. Der BETWEEN Operator kann im WHERE verwendet werden -Klausel des SELECT , DELETE , UPDATE , und REPLACE Aussagen.

Im Folgenden wird die Syntax von SQLite BETWEEN veranschaulicht Betreiber:

test_expression BETWEEN low_expression AND high_expression
Code language: SQL (Structured Query Language) (sql)

In dieser Syntax:

  • test_expression ist ein Ausdruck, auf den in dem durch low_expression definierten Bereich getestet werden soll und high_expression .
  • low_expression und high_expression ist ein beliebiger gültiger Ausdruck, der die unteren und oberen Werte des Bereichs angibt. Der low_expression sollte kleiner oder gleich high_expression sein , oder BETWEEN gibt immer false zurück.
  • Das AND Schlüsselwort ist ein Platzhalter, der den test_expression angibt sollte innerhalb des durch low_expression angegebenen Bereichs liegen und high_expression .

Beachten Sie, dass BETWEEN Betreiber ist inklusive. Es gibt wahr zurück, wenn test_expression kleiner oder gleich high_expression ist und größer oder gleich dem Wert von low_expression :

test_expression >= low_expression AND test_expression <= high_expression
Code language: SQL (Structured Query Language) (sql)

Um einen exklusiven Bereich anzugeben, verwenden Sie die Operatoren „Größer als“ (>) und „Kleiner als“ (<).

Beachten Sie, dass bei Eingaben in BETWEEN Operator NULL ist, ist das Ergebnis NULL oder unbekannt, um genau zu sein.

Um das Ergebnis von BETWEEN zu negieren verwenden Sie den Operator NOT BETWEEN Operator wie folgt:

test_expression NOT BETWEEN low_expression AND high_expression
Code language: SQL (Structured Query Language) (sql)

Das NICHT BETWEEN gibt true zurück, wenn der Wert von test_expression kleiner als der Wert von low_expression ist oder größer als der Wert von high_expression :

test_expression < low_expression OR test_expression > high_expression
Code language: SQL (Structured Query Language) (sql)

SQLite BETWEEN Operatorbeispiele

Wir verwenden die invoices Tabelle aus der Beispieldatenbank für die Demonstration:

SQLite BETWEEN Beispiel für numerische Werte

Die folgende Anweisung findet Rechnungen, deren Summe between liegt 14.96 und 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)

Hier ist die Ausgabe:

Wie Sie sehen können, sind die Rechnungen mit einem Gesamtbetrag von 14,91 oder 18,86 in der Ergebnismenge enthalten.

SQLite NOT BETWEEN Beispiel für numerische Werte

Um die Rechnungen zu finden, deren Summe nicht zwischen 1 und 20 liegt, verwenden Sie den NOT BETWEEN Operator wie in der folgenden Abfrage gezeigt:

SELECT
    InvoiceId,
    BillingAddress,
    Total
FROM
    invoices
WHERE
    Total NOT BETWEEN 1 and 20
ORDER BY
    Total;    
Code language: SQL (Structured Query Language) (sql)

Das folgende Bild zeigt die Ausgabe:

Wie in der Ausgabe deutlich zu sehen ist, enthält das Ergebnis die Rechnungen, deren Gesamtsumme kleiner als 1 und größer als 20 ist.

SQLite BETWEEN Datumsbeispiel

Das folgende Beispiel findet Rechnungen, deren Rechnungsdatum vom January 1 2010 ist und 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)

Hier ist die Ausgabe:

SQLite NOT BETWEEN Datumsbeispiel

Die folgende Anweisung findet Rechnungen, deren Datum nicht zwischen dem 3. Januar 2009 und dem 1. Dezember 2013 liegt:

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)

Die Ausgabe sieht wie folgt aus:

In diesem Tutorial haben Sie gelernt, wie Sie den SQLite BETWEEN verwenden Operator zum Testen, ob ein Wert in einem Wertebereich liegt