חיפוש עם תווים בעייתיים (2)

07/03/2011

תגיות: , , ,
אין תגובות

לפני קרוב לשנה כתבתי על שימוש באופרטור Like תוך שימוש בתווים בעייתיים.
הצעתי פתרון כללי העושה שימוש ב-Replace,
ופתרון ספציפי לתו הג'וקר %.
גם הסוגריים המרובעים יוצרים בעיות מכיוון שמשתמשים בהם לתחימת התווים הבעייתיים עצמם..
מה עושים?
הפתרון הוא להקיף את הסוגר המרובע הפותח בסוגריים מרובעים []]. את הסוגר המסיים יש להשאיר כמו שהוא.

למשל (ניצור טבלה זמנית ונכניס לתוכה מחרוזת אחת לנסיון)-

Create Table #T(Txt Varchar(Max));

Go

 

Insert

Into    #T

Select    'ab[cd]ef';

Go

כעת ננסה לשלוף את "כל" השורות בהן מופיעה המחרוזת b[cd]e (כלומר- הרשורה היחידה בטבלה), ולשם כך נשים מסביב לסוגר הראשון השמאלי סוגריים מרובעים:

Select    *

From    #T

Where    Txt Like '%b[[]cd]e%';

Go

image

הוסף תגובה
facebook linkedin twitter email

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *