Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Melarikan Diri Kurungan Square Apabila Mencari Teks dalam Prosedur Tersimpan Pelayan SQL?
Mengendalikan Kurungan Persegi dalam Carian Teks Prosedur Tersimpan SQL Server
Mencari teks dalam prosedur tersimpan SQL Server, menggunakan sys.sql_modules
dan sys.objects
, boleh menjadi rumit apabila berurusan dengan kurungan segi empat sama. Carian standard selalunya gagal untuk mencari teks kurungan dengan betul.
Penyelesaian adalah untuk melepaskan kurungan segi empat sama menggunakan klausa ESCAPE
dengan operator LIKE
. Ini memberitahu SQL Server untuk menganggap garis serong ke belakang sebagai watak melarikan diri, menghalang kurungan daripada ditafsirkan sebagai aksara kad bebas.
Ini 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 ''
menandakan bahawa garis miring ke belakang () mendahului kurungan segi empat sama akan menganggap kurungan itu sebagai aksara literal, memastikan padanan tepat teks kurungan "[ABD]". Tanpa melarikan diri, kurungan akan ditafsirkan sebagai aksara khas, yang membawa kepada hasil carian yang salah.
Atas ialah kandungan terperinci Bagaimana untuk Melarikan Diri Kurungan Square Apabila Mencari Teks dalam Prosedur Tersimpan Pelayan SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!