Tóm tắt :trong hướng dẫn này, bạn sẽ học cách sử dụng SQLite BETWEEN
toán tử để kiểm tra xem một giá trị có nằm trong một dải giá trị hay không.
Giới thiệu về SQLite BETWEEN
Nhà điều hành
BETWEEN
toán tử là một toán tử logic để kiểm tra xem một giá trị có nằm trong phạm vi giá trị hay không. Nếu giá trị nằm trong phạm vi được chỉ định, thì BETWEEN
toán tử trả về true. BETWEEN
toán tử có thể được sử dụng trong WHERE
mệnh đề của SELECT
, DELETE
, UPDATE
và REPLACE
tuyên bố.
Phần sau minh họa cú pháp của SQLite BETWEEN
nhà điều hành:
test_expression BETWEEN low_expression AND high_expression
Code language: SQL (Structured Query Language) (sql)
Trong cú pháp này:
-
test_expression
là một biểu thức để kiểm tra trong phạm vi được xác định bởilow_expression
vàhigh_expression
. -
low_expression
vàhigh_expression
là bất kỳ biểu thức hợp lệ nào chỉ định giá trị thấp và cao của phạm vi.low_expression
phải nhỏ hơn hoặc bằnghigh_expression
hoặcBETWEEN
luôn trả về false. -
AND
từ khóa là trình giữ chỗ cho biếttest_expression
phải nằm trong phạm vi được chỉ định bởilow_expression
vàhigh_expression
.
Lưu ý rằng BETWEEN
nhà điều hành là bao gồm. Nó trả về true khi test_expression
nhỏ hơn hoặc bằng high_expression
và lớn hơn hoặc bằng giá trị của low_expression
:
test_expression >= low_expression AND test_expression <= high_expression
Code language: SQL (Structured Query Language) (sql)
Để chỉ định một phạm vi riêng, bạn sử dụng toán tử lớn hơn (>) và nhỏ hơn (<).
Lưu ý rằng nếu bất kỳ đầu vào nào cho BETWEEN
toán tử là NULL, kết quả là NULL hoặc không xác định chính xác.
Để phủ định kết quả của BETWEEN
, bạn sử dụng NOT BETWEEN
toán tử như sau:
test_expression NOT BETWEEN low_expression AND high_expression
Code language: SQL (Structured Query Language) (sql)
KHÔNG BETWEEN
trả về true nếu giá trị của test_expression
nhỏ hơn giá trị của low_expression
hoặc lớn hơn giá trị của high_expression
:
test_expression < low_expression OR test_expression > high_expression
Code language: SQL (Structured Query Language) (sql)
SQLite BETWEEN
ví dụ về toán tử
Chúng tôi sẽ sử dụng invoices
bảng từ cơ sở dữ liệu mẫu để trình diễn:
SQLite BETWEEN
ví dụ về giá trị số
Câu lệnh sau đây tìm các hóa đơn có tổng between
14,96 và 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)
Đây là kết quả:
Như bạn có thể thấy, các hóa đơn có tổng số là 14,91 hoặc 18,86 được bao gồm trong tập kết quả.
SQLite NOT BETWEEN
ví dụ về giá trị số
Để tìm các hóa đơn có tổng số không nằm trong khoảng từ 1 đến 20, bạn sử dụng NOT BETWEEN
toán tử như được hiển thị trong truy vấn sau:
SELECT
InvoiceId,
BillingAddress,
Total
FROM
invoices
WHERE
Total NOT BETWEEN 1 and 20
ORDER BY
Total;
Code language: SQL (Structured Query Language) (sql)
Hình ảnh sau đây cho thấy kết quả đầu ra:
Như được hiển thị rõ ràng trong đầu ra, kết quả bao gồm các hóa đơn có tổng nhỏ hơn 1 và lớn hơn 20.
SQLite BETWEEN
ví dụ về ngày tháng
Ví dụ sau đây tìm các hóa đơn có ngày lập hóa đơn từ January 1 2010
và 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)
Đây là kết quả:
SQLite NOT BETWEEN
ví dụ về ngày tháng
Bảng sao kê sau đây tìm các hóa đơn có ngày không nằm trong khoảng thời gian từ ngày 3 tháng 1 năm 2009 đến ngày 1 tháng 12 năm 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)
Kết quả như sau:
Trong hướng dẫn này, bạn đã học cách sử dụng SQLite BETWEEN
toán tử để kiểm tra xem một giá trị có nằm trong một dải giá trị hay không