Oversigt :i denne øvelse vil du lære, hvordan du bruger SQLite BETWEEN
operatør for at teste, om en værdi er i en række værdier.
Introduktion til SQLite BETWEEN
Operatør
BETWEEN
operator er en logisk operator, der tester, om en værdi er inden for rækkevidde af værdier. Hvis værdien er i det angivne område, vises BETWEEN
operatør returnerer sand. BETWEEN
operatoren kan bruges i WHERE
klausul af SELECT
, SLET
, OPDATERING
, og REPLACE
udsagn.
Det følgende illustrerer syntaksen for SQLite BETWEEN
operatør:
test_expression BETWEEN low_expression AND high_expression
Code language: SQL (Structured Query Language) (sql)
I denne syntaks:
test_udtryk
er et udtryk, der skal testes for i området defineret aflavt_udtryk
oghigh_expression
.lavt_udtryk
oghigh_expression
er ethvert gyldigt udtryk, der angiver de lave og høje værdier for området.lavt_udtryk
skal være mindre end eller lig medhigh_expression
ellerBETWEEN
returnerer altid falsk.OG søgeord er en pladsholder, der angiver test_expression
skal være inden for det område, der er angivet aflow_expression
oghigh_expression
.
Bemærk, at BETWEEN
operatør er inklusiv. Det returnerer sandt, når test_expression
er mindre end eller lig med high_expression
og større end eller lig med værdien af low_expression
:
test_expression >= low_expression AND test_expression <= high_expression
Code language: SQL (Structured Query Language) (sql)
For at angive et eksklusivt område, bruger du større end (>) og mindre end operatorerne (<).
Bemærk, at hvis der er input til BETWEEN
operatoren er NULL, resultatet er NULL eller ukendt for at være præcis.
For at afvise resultatet af BETWEEN
operatør, bruger du NOT MELLEM
operatør som følger:
test_expression NOT BETWEEN low_expression AND high_expression
Code language: SQL (Structured Query Language) (sql)
IKKE BETWEEN
returnerer sand, hvis værdien af test_expression
er mindre end værdien af low_expression
eller større end værdien af high_expression
:
test_expression < low_expression OR test_expression > high_expression
Code language: SQL (Structured Query Language) (sql)
SQLite MELLEM
operatøreksempler
Vi bruger fakturaerne
tabel fra eksempeldatabasen til demonstrationen:
SQLite MELLEM
numeriske værdier eksempel
Følgende erklæring finder fakturaer, hvis total er mellem
14.96 og 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)
Her er outputtet:
Som du kan se, er de fakturaer, hvis total er 14,91 eller 18,86, inkluderet i resultatsættet.
SQLite IKKE MELLEM
numeriske værdier eksempel
For at finde de fakturaer, hvis total ikke er mellem 1 og 20, skal du bruge IKKE MELLEM
operator som vist i følgende forespørgsel:
SELECT
InvoiceId,
BillingAddress,
Total
FROM
invoices
WHERE
Total NOT BETWEEN 1 and 20
ORDER BY
Total;
Code language: SQL (Structured Query Language) (sql)
Følgende billede viser output:
Som det tydeligt fremgår af outputtet, inkluderer resultatet de fakturaer, hvis total er mindre end 1 og større end 20.
SQLite MELLEM
eksempel på datoer
Følgende eksempel finder fakturaer, hvis fakturadatoer er fra 1. januar 2010
og 31. januar 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)
Her er outputtet:
SQLite IKKE MELLEM
eksempel på datoer
Følgende erklæring finder fakturaer, hvis datoer ikke er mellem 3. januar 2009 og 1. december 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)
Udgangen er som følger:
I denne øvelse har du lært, hvordan du bruger SQLite BETWEEN
operatør for at teste, om en værdi er i en række værdier