SQL BETWEEN Operator


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 ที่ใช้ในตัวอย่าง:

ProductIDProductNameSupplierIDCategoryIDUnitPrice
1Chais1110 boxes x 20 bags18
2Chang1124 – 12 oz bottles19
3Aniseed Syrup1212 – 550 ml bottles10
4Chef Anton’s Cajun Seasoning2248 – 6 oz jars22
5Chef Anton’s Gumbo Mix2236 boxes21.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 ที่ใช้ในตัวอย่าง:

OrderIDCustomerIDEmployeeIDOrderDateShipperID
102489057/4/19963
102498167/5/19961
102503447/8/19962
102518437/9/19961
102527647/10/19962