عملگر BETWEEN برای انتخاب مقادیری که داخل یک محدوده می باشند به کار می رود.
مقادیر می توانند عددی،متنی و یا تاریخ باشند.
فرم دستور SQL BETWEEN :
SELECT column_name(s)
FROM table_name
WHERE column_name BETWEEN value1 AND value2;
نسخه نمایشی پایگاه داده :
در این آموزش ما از نمونه ی پایگاه داده معروف Northwind استفاده خواهیم کرد.
در زیر بخشی از جدول "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 |
1 |
2 |
48 - 6 oz jars |
22 |
5 |
Chef Anton's Gumbo Mix |
1 |
2 |
36 boxes |
21.35 |
مثال عملگر BETWEEN :
عبارت SQL زیر تمام محصولاتی را که قیمت آنها بین 10و20 می باشد را انتخاب می کند:
SELECT * FROM Products
WHERE Price BETWEEN 10 AND 20;
مثال عملگر NOT BETWEEN :
برای نمایش محصولاتی که خارج از محدوده مثال قبل هستند از NOT BETWEEN استفاده می کنیم :
SELECT * FROM Products
WHERE Price NOT BETWEEN 10 AND 20;
مثال عملگر BETWEEN به همراه IN :
عبارت SQL زیر تمام محصولاتی را که قیمت آنها بین 10و20 می باشد را انتخاب می کند،اما محصولاتی با CategoryID 1،2 یا 3 نباید نمایش داده شوند.
SELECT * FROM Products
WHERE (Price BETWEEN 10 AND 20)
AND NOT CategoryID IN (1,2,3);
مثال عملگر BETWEEN به همراه مقدار متنی(Text Value) :
عبارت SQL زیرتمام محصولاتی که نام محصول(ProductName) آنها با هر حرفی بین 'C' و 'M' شروع می شود را انتخاب می کند:
SELECT * FROM Products
WHERE ProductName BETWEEN 'C' AND 'M';
مثال عملگر BETWEEN NOT به همراه مقدار متنی(Text Value) :
عبارت SQL زیرتمام محصولاتی که نام محصول(ProductName) آنها با هر حرفی بین 'C' و 'M' شروع نشود را انتخاب می کند:
SELECT * FROM Products
WHERE ProductName NOT BETWEEN 'C' AND 'M';
در زیر بخشی از جدول "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 |
مثال عملگر BETWEEN به همراه DATE Value :
عبارت SQL زیر تمام سفارشاتی که تاریخ سفارش(OrderDate) آنها بین '04-July-1996' و '09-July-1996' باشد را انتخاب می کند:
SELECT * FROM Orders
WHERE OrderDate BETWEEN #07/04/1996# AND #07/09/1996#;
نکته : توجه کنید که عملگر BETWEEN ممکن است در پایگاه داده های مختلف نتایج متفاوتی را بدهد.
در بعضی از پایگاه های داده ، BETWEEN فیلدهایی را که مابین و مستثنی از مقادیر امتحانی هستند انتخاب می کند.
در پایگاه های داده دیگری ، BETWEEN فیلدهایی را ما بین و شامل مقادیر امتحانی هستند انتخاب می کند.
و در سایر پایگاه های داده BETWEEN فیلدهای بین مقادیر امتحانی را انتخاب می کند که شامل اولین مقدار باشند و آخرین مقدار را نداشته باشند.
در نتیجه : بررسی کنید که پایگاه داده شما چگونه با عملگر BETWEEN رفتار می کند.