Экранируйте строку в SQL Server, чтобы ее можно было безопасно использовать в выражении LIKE.
Как экранировать строку в хранимой процедуре 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'
.