Xác định xem giá trị của biểu thức có nằm trong phạm vi giá trị đã xác định hay không. Bạn có thể sử dụng toán tử này trong câu lệnh SQL.
Cú pháp
expr [Not] Betweenvalue1Andvalue2
Cú pháp toán tử Between...And gồm các phần sau đây:
Phần |
Mô tả |
expr |
Biểu thức xác định trường chứa dữ liệu bạn muốn đánh giá. |
value1, value2 |
Biểu thức mà bạn muốn đánh giá expr. |
Chú thích
Nếu giá trị của expr nằm giữa value1 và value2 (bao hàm), toán tử Between...And trả về True; nếu không, toán tử trả về False. Bạn có thể đưa vào toán tử lô-gic Not để đánh giá điều kiện ngược lại (tức là, expr có nằm ngoài phạn vi được xác định bởi value1 và value2 hay không).
Bạn có thể sử dụng Between...And để xác định xem liệu giá trị của một trường có nằm trong phạm vi số đã xác định hay không. Ví dụ sau đây sẽ xác định xem liệu một đơn hàng đã được vận chuyển tới vị trí trong phạm vi mã bưu chính hay chưa. Nếu mã bưu chính là từ 98101 đến 98199, hàm IIf sẽ trả về “Local”. Nếu không, hàm sẽ trả về “Nonlocal”.
SELECT IIf(PostalCode Between 98101 And 98199, “Local”, “Nonlocal”) FROM Publishers
Nếu expr, value1 hoặc value2 là Null thì Between...And sẽ trả về một giá trị Null.
Vì ký tự đại điện, chẳng hạn như *, được coi là các ký tự nên bạn không thể sử dụng với toán tử Between...And. Ví dụ: bạn không thể sử dụng 980* và 989* để tìm mọi mã bưu chính bắt đầu trong khoảng 980 đến 989. Thay vào đó, bạn có hai lựa chọn thay thế để hoàn tất thao tác này. Bạn có thể thêm biểu thức vào truy vấn chứa ba ký tự bên trái của trường văn bản và sử dụng Between...And trên các ký tự đó. Hoặc bạn có thể thêm các giá trị cao và thấp với các ký tự bổ sung — trong trường hợp này, 98000 đến 98999 hoặc 98000 đến 98999 - 9999 nếu sử dụng mã bưu chính mở rộng. (Bạn phải bỏ – 0000 khỏi các giá trị thấp vì nếu không thì 98000 sẽ bị mất khi một vài mã bưu chính có mục mở rộng còn những mã khác thì không.)