Wie kann ich eine Zeichenfolge in der gespeicherten Prozedur von SQL Server maskieren, damit sie sicher im LIKE
Ausdruck verwendet werden kann ?
Angenommen, ich habe eine NVARCHAR
Variable wie folgt:
declare @myString NVARCHAR(100);
Und ich möchte es in einem LIKE
Ausdruck verwenden:
... WHERE ... LIKE '%' + @myString + '%';
Wie kann ich die Zeichenfolge (insbesondere Zeichen, die für den LIKE
Mustervergleich von Bedeutung sind, z. B. %
oder ?
) in T-SQL umgehen, damit die Verwendung auf diese Weise sicher ist?
Zum Beispiel gegeben:
@myString = 'aa%bb'
Ich will:
WHERE ... LIKE '%' + @somehowEscapedMyString + '%'
zu passen 'aa%bb'
, 'caa%bbc'
aber nicht 'aaxbb'
oder 'caaxbb'
.