Як мені уникнути рядка у збереженій процедурі SQL Server, щоб його було безпечно використовувати у LIKEвиразі.
Припустимо, у мене є така NVARCHARзмінна:
declare @myString NVARCHAR(100);
І я хочу використовувати це у LIKEвиразі:
... WHERE ... LIKE '%' + @myString + '%';
Як мені уникнути рядка (точніше, символів, які мають значення для LIKEзбігу шаблонів, наприклад, %або ?) у T-SQL, щоб його було безпечно використовувати таким чином?
Наприклад, враховуючи:
@myString = 'aa%bb'
Я хочу:
WHERE ... LIKE '%' + @somehowEscapedMyString + '%'
відповідати 'aa%bb', 'caa%bbc'але ні 'aaxbb'чи 'caaxbb'.