گروه مقاله : SQL Server
تاريخ انتشار : 1394/02/02 - 10:51
كد :217

عملگر BETWEEN در SQL

عملگر 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 رفتار می کند.
نظرات كاربران :