Suchen Sie nach Text in gespeicherten Prozeduren mithilfe von Escape-Klammern und Platzhaltern
Um in gespeicherten SQL Server-Prozeduren effizient nach bestimmtem Text (einschließlich eckiger Klammern) suchen zu können, muss die SQL-Abfrage so geändert werden, dass die eckigen Klammern maskiert werden.
In Ihrer ursprünglichen Anfrage:
<code class="language-sql">SELECT DISTINCT o.name AS Object_Name, o.type_desc FROM sys.sql_modules m INNER JOIN sys.objects o ON m.object_id = o.object_id WHERE m.definition Like '%[ABD]%';</code>
Eckige Klammern werden standardmäßig als Platzhalter interpretiert, was möglicherweise nicht zu den erwarteten Ergebnissen führt. Um sie als wörtliche Zeichen zu behandeln, müssen sie maskiert werden. Dies kann erreicht werden, indem der Abfrage Escape-Zeichen hinzugefügt werden. Verwenden Sie in diesem Beispiel das Backslash()-Zeichen:
<code class="language-sql">... WHERE m.definition Like '%\[ABD\]%' ESCAPE '\'</code>
Indem die eckigen Klammern mit einem Backslash maskiert werden, behandelt die Abfrage sie als einzelnes Zeichenfolgenliteral und stellt so sicher, dass in der Definition der gespeicherten Prozedur genau nach dem genauen Text „[ABD]“ gesucht wird.
Das obige ist der detaillierte Inhalt vonWie suche ich mithilfe von Platzhaltern nach eckigen Klammern in gespeicherten SQL Server-Prozeduren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!