לפני קרוב לשנה כתבתי על שימוש באופרטור 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
Read more: גרי רשף