Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Melarikan Diri Ampersand dengan Benar dalam Pertanyaan SQL?

Bagaimana untuk Melarikan Diri Ampersand dengan Benar dalam Pertanyaan SQL?

Barbara Streisand
Barbara Streisandasal
2025-01-12 18:13:44298semak imbas

How to Properly Escape Ampersands in SQL Queries?

Mengendalikan Ampersand dalam Pertanyaan SQL

Apabila menanyakan pangkalan data, melepaskan ampersand (&) dengan betul dalam kriteria carian adalah penting. Masalah biasa timbul apabila cuba mendapatkan semula data yang mengandungi ampersand dalam nama medan.

Sebagai contoh, terus menggunakan:

<code class="language-sql">node_name = 'Geometric Vectors \& Matrices'</code>

mungkin gagal. Kaedah yang lebih dipercayai melibatkan penggunaan kod ASCII untuk ampersand:

<code class="language-sql">node_name = 'Geometric Vectors ' || chr(38) || ' Matrices'</code>

Di sini, chr(38) mewakili aksara ampersand, memastikan ia dianggap sebagai nilai rentetan literal. Pendekatan ini terbukti berkesan.

Pilihan lain menggunakan operator LIKE dan kad bebas:

<code class="language-sql">node_name LIKE 'Geometric Vectors _ Matrices'</code>

Ini menggantikan ampersand dengan garis bawah (_), yang bertindak sebagai kad bebas yang sepadan dengan mana-mana aksara tunggal. Walaupun ini mungkin menghasilkan positif palsu jika rekod lain mempunyai watak yang berbeza dalam kedudukan itu, ini biasanya tidak mungkin.

Atas ialah kandungan terperinci Bagaimana untuk Melarikan Diri Ampersand dengan Benar dalam Pertanyaan 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