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_expressionlà một biểu thức để kiểm tra trong phạm vi được xác định bởilow_expressionvàhigh_expression. -
low_expressionvàhigh_expressionlà 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_expressionphải nhỏ hơn hoặc bằnghigh_expressionhoặcBETWEENluôn trả về false. -
ANDtừ khóa là trình giữ chỗ cho biếttest_expressionphải nằm trong phạm vi được chỉ định bởilow_expressionvà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