sql >> Database >  >> RDS >> SQLite

SQLite TUSSEN

Samenvatting :in deze tutorial leer je hoe je de SQLite BETWEEN . gebruikt operator om te testen of een waarde binnen een reeks waarden valt.

Inleiding tot SQLite BETWEEN Operator

De BETWEEN operator is een logische operator die test of een waarde binnen het bereik van waarden valt. Als de waarde binnen het opgegeven bereik ligt, wordt de BETWEEN operator geeft waar terug. De BETWEEN operator kan worden gebruikt in de WHERE clausule van de SELECT , DELETE , UPDATE , en REPLACE verklaringen.

Het volgende illustreert de syntaxis van de SQLite BETWEEN operator:

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

In deze syntaxis:

  • test_expression is een uitdrukking om op te testen binnen het bereik gedefinieerd door low_expression en high_expression .
  • low_expression en high_expression is een geldige expressie die de lage en hoge waarden van het bereik specificeert. De low_expression moet kleiner zijn dan of gelijk zijn aan high_expression , of de BETWEEN is geeft altijd false terug.
  • De AND trefwoord is een tijdelijke aanduiding die de test_expression . aangeeft moet binnen het bereik vallen dat is gespecificeerd door low_expression en high_expression .

Merk op dat de BETWEEN exploitant is inclusief. Het geeft true terug wanneer de test_expression is kleiner dan of gelijk aan high_expression en groter dan of gelijk aan de waarde van low_expression :

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

Om een ​​exclusief bereik op te geven, gebruikt u de operatoren groter dan (>) en kleiner dan (<).

Merk op dat als enige invoer naar de BETWEEN operator is NULL, het resultaat is NULL, of onbekend om precies te zijn.

Om het resultaat van de BETWEEN . te negeren operator, gebruik je de NOT BETWEEN operator als volgt:

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

De NIET BETWEEN geeft true terug als de waarde van test_expression is kleiner dan de waarde van low_expression of groter dan de waarde van high_expression :

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

SQLite BETWEEN voorbeelden van operatoren

We gebruiken de invoices tabel uit de voorbeelddatabase voor de demonstratie:

SQLite BETWEEN numerieke waarden voorbeeld

De volgende verklaring vindt facturen waarvan het totaal between . is 14.96 en 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 is de uitvoer:

Zoals u kunt zien, worden de facturen met een totaal van 14,91 of 18,86 in de resultatenset opgenomen.

SQLite NOT BETWEEN numerieke waarden voorbeeld

Om de facturen te vinden waarvan het totaal niet tussen 1 en 20 ligt, gebruikt u de NOT BETWEEN operator zoals getoond in de volgende vraag:

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

De volgende afbeelding toont de uitvoer:

Zoals duidelijk blijkt uit de output, omvat het resultaat de facturen waarvan het totaal kleiner is dan 1 en groter dan 20.

SQLite BETWEEN datum voorbeeld

In het volgende voorbeeld worden facturen gevonden waarvan de factuurdatum van January 1 2010 . is en 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 is de uitvoer:

SQLite NOT BETWEEN datum voorbeeld

De volgende verklaring vindt facturen waarvan de datums niet tussen 3 januari 2009 en 1 december 2013 liggen:

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)

De uitvoer is als volgt:

In deze tutorial heb je geleerd hoe je de SQLite BETWEEN . gebruikt operator om te testen of een waarde binnen een reeks waarden valt


  1. SQL Server 2008 Spatial:vind een punt in polygoon

  2. Een voorbereid statement, `WHERE .. IN(..)` query en sortering — met MySQL

  3. Voorwaardelijke JOIN-instructie SQL Server

  4. Hoe kan ik een grote grafiek van een .NET-object serialiseren in een SQL Server BLOB zonder een grote buffer te maken?