Резюме :в този урок ще научите как да използвате SQLite BETWEEN
оператор, за да провери дали дадена стойност е в диапазон от стойности.
Въведение в SQLite BETWEEN
Оператор
BETWEEN
операторът е логически оператор, който проверява дали дадена стойност е в диапазона от стойности. Ако стойността е в посочения диапазон, BETWEEN
операторът връща true. BETWEEN
операторът може да се използва в WHERE
клауза на SELECT
, DELETE
, UPDATE
и REPLACE
изявления.
Следното илюстрира синтаксиса на SQLite BETWEEN
оператор:
test_expression BETWEEN low_expression AND high_expression
Code language: SQL (Structured Query Language) (sql)
В този синтаксис:
test_expression
е израз за тестване в диапазона, дефиниран отlow_expression
иhigh_expression
.low_expression
иhigh_expression
е всеки валиден израз, който определя ниските и високите стойности на диапазона.low_expression
трябва да е по-малко или равно наhigh_expression
, илиBETWEEN
is винаги връща false.AND
ключова дума е заместител, който указваtest_expression
трябва да е в диапазона, определен отlow_expression
иhigh_expression
.
Имайте предвид, че BETWEEN
операторът е включващ. Връща true, когато test_expression
е по-малко или равно на high_expression
и по-голям или равен на стойността на low_expression
:
test_expression >= low_expression AND test_expression <= high_expression
Code language: SQL (Structured Query Language) (sql)
За да посочите изключителен диапазон, използвате операторите по-голямо от (>) и по-малко от (<).
Имайте предвид, че ако има някакъв вход в BETWEEN
операторът е NULL, резултатът е NULL или неизвестен, за да бъдем точни.
За да отречете резултата от BETWEEN
оператор, използвате NOT BETWEEN
оператор, както следва:
test_expression NOT BETWEEN low_expression AND high_expression
Code language: SQL (Structured Query Language) (sql)
НЕ BETWEEN
връща true, ако стойността на test_expression
е по-малко от стойността на low_expression
или по-голяма от стойността на high_expression
:
test_expression < low_expression OR test_expression > high_expression
Code language: SQL (Structured Query Language) (sql)
SQLite BETWEEN
примери за оператор
Ще използваме invoices
таблица от примерната база данни за демонстрацията:
SQLite BETWEEN
пример за числови стойности
Следното изявление намира фактури, чиято обща сума е between
14,96 и 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)
Ето изхода:
Както можете да видите, фактурите, чиято обща сума е 14,91 или 18,86, са включени в набора от резултати.
SQLite NOT BETWEEN
пример за числови стойности
За да намерите фактурите, чиято обща сума не е между 1 и 20, използвате NOT BETWEEN
оператор, както е показано в следната заявка:
SELECT
InvoiceId,
BillingAddress,
Total
FROM
invoices
WHERE
Total NOT BETWEEN 1 and 20
ORDER BY
Total;
Code language: SQL (Structured Query Language) (sql)
Следната снимка показва изхода:
Както е ясно показано в изхода, резултатът включва фактурите, чиято обща сума е по-малка от 1 и по-голяма от 20.
SQLite BETWEEN
пример за дати
Следният пример намира фактури, чиито дати на фактури са от January 1 2010
и 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)
Ето изхода:
SQLite NOT BETWEEN
пример за дати
Следното извлечение намира фактури, чиито дати не са между 3 януари 2009 г. и 01 декември 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)
Резултатът е както следва:
В този урок научихте как да използвате SQLite BETWEEN
оператор, за да провери дали дадена стойност е в диапазон от стойности