מדריך SQL זה מתמקד באופרטור LIKE. מדריך זה הינו חלק מרשימת פוסטים הנוגעים לפקודת ה WHERE ב SQL SERVER. כדי להגיע לפוסטים הנוספים ניתן להעזר בקישורים הבאים :

אופרטור LIKE

מאפשר לנו לאתר מחרוזות עלסמך תבנית (Pattern) מסויימת.

 WHERE  שם_עמודה  LIKE ‘תבנית_מסויימת’

לעיתים נרצה לחפש אינפורמציה בטבלה שלנו שלא על סמך הערך המדוייק של השדה שבתוך העמודה, אלא לפי תבנית, לדוגמא: 

v     כל העובדים אשר שמם מתחיל ב– 'M' (עמודת שם פרטי).

v     כל הלקוחות אשר הנייד שלהם מתחיל ב– 054  (עמודת מספר סלולרי).

v     הרכבים אשר לוחית הזיהוי שלהם מסתיימת ב– 86  (עמודת מספר לוחית זיהוי).

v     הודעות בפורום בהן מופיעה המילה 'למכור' (עמודת הודעה).


מבנה התבנית

תבנית LIKE יכולה להיות מורכבת מהסימנים הבאים :

v     % – מסמל כל מספר של תווים (0 עד אין סוף).

v     _  מסמל תו בודד.


הדוגמאות הבאות ימחישו את סימני התבנית :

WHERE  last_name LIKE ‘%a’

 ‘%a’ כל השמות אשר מסתיימים באות 'a'. התבנית למעשה אומרת, לא משנה כמה אותיות תהיינה בתחילת המילה (כל מספר של תווים), אך התבנית חייבת להסתיים באות a.

ערכים לדוגמא : ‘Akiva’, ‘Shapira’, ‘Bouskila’.

!         באופן תיאורטי גם שם משפחה שערכו ‘a’ היה נכלל פה משום ש– % מסמל כל מספר של תווים (גם 0).

WHERE  last_name LIKE ‘A%’

 ‘A%’ כל השמות אשר מתחילים באות 'a'. התבנית למעשה אומרת, המילה חייבת להתחיל ב‘a’ לאחר מכן לא משנה מספר האותיות (כל מספר של תווים).

ערכים לדוגמא : ‘Avraham‘ , ‘Akiva’ , ‘Avidor’.

!         לשים לב, בהיעדר הרגישות לגודל האות גם שם משפחה כגון ‘avidor’ יתקבל בחיפוש (החיפוש שלנו מוגדר על  'A' גדולה) .

!         באופן תיאורטי גם שם משפחה שערכו ‘a’ היה נכלל פה משום ש– % מסמל כל מספר של תווים (גם 0).

WHERE  last_name LIKE ‘%a%’

 ‘%a%’ כל השמות אשר מכילים את האות 'a'. התבנית למעשה אומרת, המילה יכולה להתחיל בכל מספר של תווים, לאחר מכן צריך להופיע התו 'a' ולאחר מכן שוב יכולים להופיע כל מספר של תווים.

ערכים לדוגמא : ‘Avraham‘ , ‘Strauss’ , ‘Gilboa’ , ‘Harel’.

!         באופן תיאורטי גם שם משפחה שערכו ‘a’ היה נכלל פה משום ש– % מסמל כל מספר של תווים (גם 0).

 WHERE  last_name LIKE ‘_a%’

‘_a%’ כל השמות אשר האות ‘a’ היא האות השניה בהם. התבנית למעשה אומרת, המילה יכולה להתחיל בתו בודד כלשהו ( _ מסמל תו בודד) לאחר מכן תופיע האות ‘a’ ולאחר מכן כל מספר של תווים.

ערכים לדוגמא : ‘Harel’ , ‘Tamari’ , ‘Dagan’.

אופרטור NOT

v     מחזיר את התוצאות ההפוכות ממה שאופרטור LIKE החזיר.

v     נכתב לפני LIKE.

מחזיר את כל אלו שיש בשמם את האות ‘a’ :

WHERE  last_name LIKE ‘%a%’

מחזיר את כל אלו שאין בשמם את האות ‘a’ :

WHERE  last_name NOT LIKE ‘%a%’

נערך ע”י אלעד פלג