首頁 > 資料庫 > mysql教程 > 如何在 SQL Server 預存程序定義中搜尋文字方括號?

如何在 SQL Server 預存程序定義中搜尋文字方括號?

Linda Hamilton
發布: 2025-01-07 16:22:41
原創
621 人瀏覽過

How to Search for Literal Square Brackets in SQL Server Stored Procedure Definitions?

在SQL Server預存程序中搜尋包含方括號的文字

您希望在資料庫中找到所有包含特定文字字串的儲存過程,包括字串包含在方括號中的情況,但遇到了一些困難。您使用了以下查詢:

<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>
登入後複製

但是,此查詢傳回的結果不正確,因為SQL LIKE運算子將方括號解釋為通配符,而不是字面字元。

解:

要在預存程序定義中搜尋字面方括號,您需要在查詢中轉義它們。這可以使用ESCAPE子句實現:

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

ESCAPE子句告訴SQL Server,後面的字元不應解釋為通配符,而應解釋為字面字元。在本例中,反斜線字元()用作轉義字元。

透過使用轉義的方括號,您的查詢現在將準確識別並顯示其定義中包含字串「[ABD]」的預存程序。

以上是如何在 SQL Server 預存程序定義中搜尋文字方括號?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板