SQL BETWEEN

הפסוקית BETWEEN במשפטי SQL תבוא לאחר ה - WHERE כתנאי הבא להגדיר טווח של ערכים בעמודה. למשל כל המספרים בין 3 ל - 9. או כל התאריכים מ - 01.10.2010 ל - 22.02.2011.

המבנה הכללי של משפט BETWEEN יהיה:

SELECT <רשימת עמודות> FROM <שם הטבלה> WHERE <שם עמודה> BETWEEN <ערך אחד> AND <ערך שני>

על מנת להמחיש זאת טוב יותר הבה נשתמש בטבלה הבאה ששמה בבסיס הנתונים יהיה Products:

Status Price Product_Name Product_ID
פעיל 100 מוצר 1 123
פעיל 246 מוצר 2 124
לא פעיל 200 מוצר 3 125

נניח שברצוננו לשלוף מטבלת המוצרים שלמעלה את כל פרטי המוצרים שמחיריהם נעים בין 150 ל - 300. משפט ה - SQL שלנו במקרה זה יהיה:

SELECT * FROM Products WHERE Price BETWEEN 150 AND 300;

המשפט בדוגמה למעלה יחזיר לנו את ערכי מוצר 2 ומוצר 3 משום שמחיריהם נעים בטווח המבוקש. מוצר 1 שמחירו נמוך מ - 150 לא יהיה חלק מהרשומות שיוחזרו.

משפטי BETWEEN על טווח מחרוזות:

משפטי BETWEEN לא חייבים להיות רק על טווח מספרים אלא למשל גם על טווח של מחרוזות. למשל אנו יכולים לבקש לאחזר את כל הרשומות שבין מוצר 1 למוצר 3 בטבלת המוצרים שלנו. משפט ה - SQL שלנו ייראה במקרה זה כך:

SELECT * FROM Products WHERE Product_Name BETWEEN 'מוצר 1' AND 'מוצר 3';

הבעיה היא שהתוצאה של משפט BETWEEN המכיל טווח מחרוזות אינה אחידה והיא משתנה בהתאם לסוג ויצרן בסיס הנתונים. חלק מבסיסי הנתונים יחזירו כתשובה למשפט שבדוגמה שלנו את פרטי רשומות מוצר 1 ומוצר 3. אחרים יחזירו רק את מוצר 1 ועוד אחרים יחזירו דווקא את מוצר 2. מה עושים? ובכן מומלץ לבחון בצורה מבוקרת איך מתנהג בסיס הנתונים שלכם לפני שאתם בוחרים להשתמש ב - BETWEEN עבור טווח מחרוזות.

משפטי BETWEEN על טווח תאריכים:

שאילתה פופולרית מאוד היא שאילתה המבקשת לאחזר נתונים על פי טווח תאריכים. כלומר מתאריך עד תאריך. הצורה הכללית של משפט SQL כזה ייראה כך:

SELECT <רשימת עמודות> FROM <שם טבלה> WHERE <שם עמודה> BETWEEN #Date1# AND #Date2#;

יש לשים לב שהקפנו את התאריכים משני הצדדים בסולמיות. נכון לעשות זאת גם כאשר הערכים הם מסוג תאריך בכל משפטי SQL ומכאן שגם במשפטי BETWEEN.


 
© 2010-2013  www.Devschool.co.il | מדיניות פרטיות | תנאי שימוש