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!