Wie kann ich eine Zeichenfolge in der gespeicherten Prozedur von SQL Server maskieren, damit sie sicher im LIKEAusdruck verwendet werden kann ?
Angenommen, ich habe eine NVARCHARVariable wie folgt:
declare @myString NVARCHAR(100);
Und ich möchte es in einem LIKEAusdruck verwenden:
... WHERE ... LIKE '%' + @myString + '%';
Wie kann ich die Zeichenfolge (insbesondere Zeichen, die für den LIKEMustervergleich 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'.