SQL WILDCARDS

WILDCARDS יבואו תמיד כחלק מהפסוקית LIKE. משתמשים ב - WILDCARDS לצורך חיפוש דפוס או תבנית של נתונים בעמודה נתונה. למשל כל הערכים בעמודה מסוימת שמתחילים באות א. או כל הערכים שבתוכם מופיע צירוף אותיות מסוים. 

להלן רשימת ה - WILDCARDS הקיימים ושימושיהם:

תיאור Wildcard
תחליף לאותיות - מספר האותיות יכול לנוע בין 0 - אין סוף %
תחליף לאות בודדה. _
רשימה של אותיות שהערך שמחפשים צריך להתחיל באחת מהן [רשימת תווים]
רשימה של אותיות שהערך שעל הערך שמחפשים אבור להכיל אף אחת מהן כאות ראשונה. [רשימת תווים!]

כאמור, החיפוש בתבניות WILDCARDS יהיה תמיד חלק ממשפטי LIKE. על LIKE למדנו בנושא הקודם של מדריך זה. בפרק זה של המדריך אדגים את השימושים בכל צורות ה - WILDCARDS. כרגיל, על מנת להמחיש את הדוגמה טוב יותר אשתמש בטבלה הבאה ששמה בבסיס הנתונים יהיה Products:

פעיל
Status Price Product ID
פעיל 4 פרילי תות שדה 223
4.6 גבינה לבנה 250 מל 259
לא פעיל 20 גבינה מלוחה 252
לא פעיל 4.2 גבינת חלומי 126
פעיל 10 מעדן חלב 567

דוגמה לשימוש ב - % כ - Wildcard

נניח שברצוננו לשלוף מטבלת המוצרים שלמעלה את פרטי המוצרים, על פי שמם. נבצע חיפוש על פי שם המוצר ונבקש רק מוצרים שהצירוף 'לו' נמצא בשמם. אם נשים את הסימן % לפני ואחרי צירוף האותיות המבוקש פירוש הדבר שאנו מחפשים מילה שהצירוף ייהיה בתוכה ולא משנה אם בתחילת, אמצע או סוף המילה. אם נשים למשל את סימן ה - % אחרי צירוף האותיות המבוקש אזי השאילתה שלנו תחזיר לנו רק ערכים המתחילים בצירוף האותיות המבוקש ווייתכן שיש להן גם אותיות נוספות לאחר צירוף זה. במקרה שלנו אנו מחפשים כל מילה המכילה את הצירוף המבוקש ללא קשר למיקומו ולכן נעשה זאת כך:

SELECT * FROM Products WHERE Product like '%לו%'

המשפט בדוגמה למעלה יחזיר לנו את פרטי גבינת חלומי והגבינה המלוחה, שבשמם ניתן למצוא את הצירוף 'לו'. יש לשים לב ששמנו את התבנית בתוך גרשיים משום שאנו מחפשים מחרוזת. מחרוזות תמיד יהיו בתוך גרשיים כאשר אנו מתייחסים אליהם בתוך הפסוקית WHERE.

דוגמה לשימוש ב _ כ - WILDCARD

נניח שברצוננו לשלוף מטבלת מוצרים רק את המוצרים שמספר הזיהוי שלהם הוא בעל שלוש ספרות ומתחיל בספרות 25. נעשה זאת באמצעות הסימן _המסמן לבסיס הנתונים תו אחד בלבד:

SELECT * FROM Products WHERE ID like '25_'

הדוגמה שלמעלה תחזיר לנו את התוצאות הבאות {259, 252}. קוד 223 לא יחזור למשל משום שההספרה השניה בו אינה 5.

דוגמה לשימוש ב -[רשימת תווים] כ - Wildcards

בדוגמה זו נחפש שם של מוצרים שמתחילים באות "מ" או באות "פ" או באות "ז". את רשימת האותיות המבוקשת נשים בתוך סוגריים מרובעים ולאחריהם נשים את הסימן % הבא לומר שיש לאחזר גם ערכים שיש להם אותיות נוספות מלבד אחת האותיות שברשימת התווים המבוקשת :

SELECT Product FROM Products WHERE Product like '[מפז]%'

ההתוצאה שתוחזר משאילתה זו תהיה: {פרילי תות שדה, מעדן חלב}.

דוגמה לשימוש ב -[רשימת תווים] אסורה כ - Wildcards

בדוגמה זו נחפש שם של מוצרים שאינם מתחילים באות "מ" או באות "פ" או באות "ז". את רשימת האותיות האסורות נשים בתוך סוגריים מרובעים ולאחריהם נשים את הסימן % הבא לומר שיש לאחזר גם ערכים שיש להם אותיות נוספות מלבד אחת האותיות שברשימת התווים המבוקשת:

SELECT Product FROM Products WHERE Product like '[!מפז]%'

התוצאה ששאילתה זו תחזיר תהיה {גבינה לבנה 250 מל, גבינהמלוחה, גבינת חלומי}. יש לשים לה לסימן הקריאה שהתווסף לפני רשימת האותיות ובא לציין שמדובר ברשימת תווים אסורה.


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