بین (Between)
در SQL، «عملگر BETWEEN» برای فیلتر «بازه (Range)» استفاده می شود. یعنی مقادیر بین دو حد را می گیریم. این عملگر «شمولی» است؛ ابتدا و انتها هم حساب می شوند.
تعریف عملگر BETWEEN و شمولیت
BETWEEN اعداد، متن، یا تاریخ را در بازه می سنجد. ابتدا و انتها داخل نتیجه هستند.
SELECT *
FROM Products
WHERE Price BETWEEN 10 AND 20;
سینتکس BETWEEN
الگوی کلی استفاده به شکل زیر است. مقدار اول تا مقدار دوم.
SELECT column_name(s)
FROM table_name
WHERE column_name BETWEEN value1 AND value2;
NOT BETWEEN: خارج از بازه
NOT BETWEEN دقیقا برعکس است. هرچه بیرون بازه باشد را می گیرد.
SELECT *
FROM Products
WHERE Price NOT BETWEEN 10 AND 20;
BETWEEN همراه IN
می توانی بازه را با عضویت ترکیب کنی. مثل فیلتر گروه ها.
SELECT *
FROM Products
WHERE Price BETWEEN 10 AND 20
AND CategoryID IN (1, 2, 3);
BETWEEN روی متن
برای متن، ترتیب واژه ها الفبایی سنجیده می شود. نتایج را مرتب کن.
SELECT *
FROM Products
WHERE ProductName BETWEEN 'Carnarvon Tigers' AND 'Mozzarella di Giovanni'
ORDER BY ProductName;
SELECT *
FROM Products
WHERE ProductName BETWEEN "Carnarvon Tigers" AND "Chef Anton's Cajun Seasoning"
ORDER BY ProductName;
NOT BETWEEN برای متن
اینجا هر نامی بیرون آن محدوده الفبایی برگردانده می شود.
SELECT *
FROM Products
WHERE ProductName NOT BETWEEN 'Carnarvon Tigers' AND 'Mozzarella di Giovanni'
ORDER BY ProductName;
BETWEEN تاریخ ها
فرمت تاریخ به موتور پایگاه داده وابسته است. نمونه های زیر رایج اند.
SELECT *
FROM Orders
WHERE OrderDate BETWEEN #07/01/1996# AND #07/31/1996#;
یا به فرمت استاندارد ISO استفاده کن که شفاف تر است.
SELECT *
FROM Orders
WHERE OrderDate BETWEEN '1996-07-01' AND '1996-07-31';
نکته: برای عضویت لیستی از IN استفاده کن. برای مقایسه های متنی، LIKE را ببین. همچنین این صفحه ی عملگر BETWEEN مرجع سریع توست.
گام های تمرینی سریع
- یک BETWEEN ساده روی قیمت بنویس.
- آن را به NOT BETWEEN تغییر بده.
- با IN ترکیب کن و نتیجه را بررسی کن.
جمع بندی سریع
- BETWEEN بازه را «شامل» می گیرد.
- NOT BETWEEN بیرون بازه را می دهد.
- برای متن، ترتیب الفبا مهم است.
- تاریخ ها به فرمت موتور وابسته اند.