SQL Server のストアド プロシージャでテキストを検索する 質問する

SQL Server のストアド プロシージャでテキストを検索する 質問する

すべてのデータベース ストアド プロシージャからテキストを検索したいです。以下の 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]%';

角括弧を含むすべてのストアド プロシージャで検索したいのです[ABD]が、適切な結果が得られません。これを実現するには、クエリをどのように変更すればよいでしょうか。

ベストアンサー1

角括弧をエスケープします:

...
WHERE m.definition Like '%\[ABD\]%' ESCAPE '\'

そうすると、角括弧はワイルドカードではなく文字列リテラルとして扱われます。

おすすめ記事