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
Lepaskan: 2025-01-07 16:34:40
asal
481 orang telah melayarinya

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan