Як мені уникнути рядка у збереженій процедурі 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'
.