ホームページ >データベース >mysql チュートリアル >ワイルドカードを使用して SQL Server ストアド プロシージャでリテラル角括弧を検索する方法

ワイルドカードを使用して SQL Server ストアド プロシージャでリテラル角括弧を検索する方法

Susan Sarandon
Susan Sarandonオリジナル
2025-01-07 16:26:52378ブラウズ

How to Search for Literal Square Brackets in SQL Server Stored Procedures Using Wildcards?

エスケープされた括弧とワイルドカードを使用してストアド プロシージャ内のテキストを検索します

SQL Server ストアド プロシージャで特定のテキスト (角括弧を含む) を効率的に検索するには、角括弧をエスケープするように 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]%';</code>

角括弧はデフォルトではワイルドカードとして解釈されるため、期待どおりの結果が得られない可能性があります。これらをリテラル文字として扱うには、エスケープする必要があります。これは、クエリにエスケープ文字を追加することで実現できます。この例では、バックスラッシュ () 文字を使用します:

<code class="language-sql">...
WHERE m.definition Like '%\[ABD\]%' ESCAPE '\'</code>

角括弧をバックスラッシュでエスケープすることにより、クエリは角括弧を単一の文字列リテラルとして扱い、ストアド プロシージャ定義内で正確なテキスト "[ABD]" が正確に検索されるようにします。

以上がワイルドカードを使用して SQL Server ストアド プロシージャでリテラル角括弧を検索する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。