在SQL Server中查找任何硬编码值

时间:2017-02-23 15:12:36

标签: select sql-server-2008-r2 sysobjects

我需要识别包含具有硬编码值的“scenarioID”的数据库中的任何对象。

我希望找出以下案例:

  1. scenarioId = XX(两位数值)
  2. scenarioId = XX(两位数值)
  3. scenarioId = XX(两位数值)
  4. 我写的下面的查询似乎是拉动包含“scenarioid”的对象,但是给了我更多的情况。

    return (_Systems.end() - 1)->get();
    

1 个答案:

答案 0 :(得分:0)

我意识到自己的错误。我使用[^ 0-9]而不是[0-9]。

SELECT DISTINCT a.[name]
FROM sysobjects a
INNER JOIN syscomments b on a.id = b.id
WHERE b.[text] LIKE '%scenarioId = [0-9][0-9]%'
or b.[text] like '%scenarioId=[0-9][0-9]%'
or b.[text] like '%scenarioId =[0-9][0-9]%'
or b.[text] like '%scenarioId = [0-9][0-9]%'
or b.[text] like '%scenarioId  = [0-9][0-9]%'