BETWEEN operator เลือกค่าระหว่างในช่วงที่กำหนดทั้งค่าเริ่มต้นและสิ้นสุดโดยที่ค่าสามารถเป็นได้ทั้ง ตัวเลข ข้อความ หรือ วันที่
ตัวอย่าง
เลือกผลิตภัณฑ์ทั้งหมดที่มีราคาระหว่าง 10 ถึง 20:
SELECT * FROM Products
WHERE Price BETWEEN 10 AND 20;
Syntax
SELECT column_name(s)
FROM table_name
WHERE column_name BETWEEN value1 AND value2;
Demo Database
ด้านล่างนี้คือการเลือกจากตาราง Products ที่ใช้ในตัวอย่าง:
ProductID | ProductName | SupplierID | CategoryID | Unit | Price |
---|---|---|---|---|---|
1 | Chais | 1 | 1 | 10 boxes x 20 bags | 18 |
2 | Chang | 1 | 1 | 24 – 12 oz bottles | 19 |
3 | Aniseed Syrup | 1 | 2 | 12 – 550 ml bottles | 10 |
4 | Chef Anton’s Cajun Seasoning | 2 | 2 | 48 – 6 oz jars | 22 |
5 | Chef Anton’s Gumbo Mix | 2 | 2 | 36 boxes | 21.35 |
NOT BETWEEN
การแสดงผล products ข้างนอกช่วงของตัวอย่างก่อนหน้าให้ใช้ NOT BETWEEN :
SELECT * FROM Products
WHERE Price NOT BETWEEN 10 AND 20;
BETWEEN with IN
คำสั่ง SQL ต่อไปนี้จะเลือกผลิตภัณฑ์ทั้งหมดที่มีราคาระหว่าง 10 ถึง 20 นอกจากนี้ CategoryID ต้องเป็น 1,2 หรือ 3:
ตัวอย่าง
SELECT * FROM Products
WHERE Price BETWEEN 10 AND 20
AND CategoryID IN (1,2,3);
BETWEEN Text Values
คำสั่ง SQL ต่อไปนี้จะเลือกผลิตภัณฑ์ทั้งหมดที่มี ProductName ตามลำดับตัวอักษรระหว่าง Carnarvon Tigers และ Mozzarella di Giovanni:
ตัวอย่าง
SELECT * FROM Products
WHERE ProductName BETWEEN 'Carnarvon Tigers' AND 'Mozzarella di Giovanni'
ORDER BY ProductName;
คำสั่ง SQL ต่อไปนี้เลือกผลิตภัณฑ์ทั้งหมดที่มี ProductName ระหว่าง Carnarvon Tigers และเครื่องปรุงรส Cajun ของ Chef Anton:
ตัวอย่าง
SELECT * FROM Products
WHERE ProductName BETWEEN "Carnarvon Tigers" AND "Chef Anton's Cajun Seasoning"
ORDER BY ProductName;
NOT BETWEEN Text Values
คำสั่ง SQL ต่อไปนี้เลือกผลิตภัณฑ์ทั้งหมดที่มี ProductName ไม่ใช่ระหว่าง Carnarvon Tigers และ Mozzarella di Giovanni:
SELECT * FROM Products
WHERE ProductName NOT BETWEEN 'Carnarvon Tigers' AND 'Mozzarella di Giovanni'
ORDER BY ProductName;
BETWEEN Dates
คำสั่ง SQL ต่อไปนี้จะเลือกคำสั่งซื้อทั้งหมดที่มี OrderDate ระหว่าง ’01-July-1996′ และ ’31-July-1996′:
ตัวอย่าง
SELECT * FROM Orders
WHERE OrderDate BETWEEN #07/01/1996# AND #07/31/1996#;
หรือ :
SELECT * FROM Orders
WHERE OrderDate BETWEEN '1996-07-01' AND '1996-07-31';
Sample Table
ด้านล่างนี้คือการเลือกจากตาราง Orders ที่ใช้ในตัวอย่าง:
OrderID | CustomerID | EmployeeID | OrderDate | ShipperID |
---|---|---|---|---|
10248 | 90 | 5 | 7/4/1996 | 3 |
10249 | 81 | 6 | 7/5/1996 | 1 |
10250 | 34 | 4 | 7/8/1996 | 2 |
10251 | 84 | 3 | 7/9/1996 | 1 |
10252 | 76 | 4 | 7/10/1996 | 2 |