我想从我所有的数据库存储过程中搜索文本。我使用下面的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],但未给出正确的结果。如何更改查询以实现此目的?

最佳答案

转义方括号:

...
WHERE m.definition Like '%\[ABD\]%' ESCAPE '\'
然后,方括号将被视为字符串文字,而不是通配符。

09-26 23:55