Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mencari Prosedur Tersimpan yang Mengandungi Teks Khusus Termasuk Aksara Khas dalam Pelayan SQL?

Bagaimana untuk Mencari Prosedur Tersimpan yang Mengandungi Teks Khusus Termasuk Aksara Khas dalam Pelayan SQL?

Linda Hamilton
Linda Hamiltonasal
2025-01-07 16:34:40539semak imbas

How to Search for Stored Procedures Containing Specific Text Including Special Characters in SQL Server?

Mencari Prosedur Tersimpan yang Mengandungi Teks Khusus, Termasuk Watak Khas

Mencari teks tertentu dalam prosedur tersimpan SQL Server boleh menjadi rumit, terutamanya apabila teks tersebut termasuk aksara khas seperti kurungan segi empat sama.

Cabaran:

Bayangkan anda perlu mencari semua prosedur tersimpan yang mengandungi rentetan "[ABD]". Pendekatan naif menggunakan LIKE mungkin kelihatan seperti ini:

<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>

Ini gagal kerana LIKE mentafsir kurungan segi empat sama sebagai aksara kad bebas, menjadikan carian tidak tepat.

Penyelesaian:

Kuncinya ialah melarikan diri daripada watak istimewa. SQL Server menggunakan garis miring ke belakang () sebagai aksara melarikan diri. Inilah pertanyaan yang diperbetulkan:

<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>

Klausa ESCAPE '' memberitahu LIKE untuk menganggap mana-mana aksara yang didahului oleh garis serong ke belakang sebagai aksara literal, bukan kad bebas. Ini memastikan carian mengenal pasti dengan tepat prosedur tersimpan yang mengandungi rentetan tepat "[ABD]". Kaedah ini berkesan mengendalikan aksara khas lain dalam definisi prosedur tersimpan, memberikan hasil carian yang tepat.

Atas ialah kandungan terperinci Bagaimana untuk Mencari Prosedur Tersimpan yang Mengandungi Teks Khusus Termasuk Aksara Khas dalam Pelayan SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn