SQL Server ストアド プロシージャ内の角かっこを含むテキスト検索方法
SQL Server では、コードのメンテナンスと最適化のために、ストアド プロシージャ内のテキストの検索が重要です。ただし、角括弧などの特殊文字を含めると問題が発生する可能性があります。
質問:
SQL クエリがストアド プロシージャ内で '[ABD]' (角括弧を含む) の正確なインスタンスを見つけられないという問題が発生する可能性があります。その理由は、角括弧がワイルドカードとして扱われ、検索文字列の一部ではないためです。
解決策:
この問題を解決するには、角括弧をエスケープする必要があります。 T-SQL では、エスケープ文字 (バックスラッシュなど) を追加することでこれを実現できます。角括弧をエスケープすると、角括弧は検索文字列のリテラル部分として扱われます。
更新されたクエリは次のようになります:
<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\]%' ESCAPE '\';</code>
手順:
角括弧の前にエスケープ文字 ( ) を追加すると、基本的に、ワイルドカード文字として解釈されず、検索文字列の一部として含める必要があることをクエリに指示することになります。これにより、ストアド プロシージャ内の '[ABD]' テキストの完全一致が可能になります。
以上がSQL Server ストアド プロシージャで角括弧を含むテキストを検索するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。