Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk Melarikan Tanda Peratus Tersurat dalam Mod NO_BACKSLASH_ESCAPES MySQL?

Bagaimana untuk Melarikan Tanda Peratus Tersurat dalam Mod NO_BACKSLASH_ESCAPES MySQL?

Barbara Streisand
Barbara Streisandasal
2024-11-25 14:09:12416semak imbas

How to Escape Literal Percent Signs in MySQL's NO_BACKSLASH_ESCAPES Mode?

Melepaskan Log Masuk Peratus Literal NO_BACKSLASH_ESCAPES Mod MySQL

Dalam mod NO_BACKSLASH_ESCAPES MySQL, melepaskan % aksara menggunakan kaedah biasa (%) bukanlah diiktiraf. Ini boleh menimbulkan cabaran apabila melakukan pertanyaan LIKE yang melibatkan tanda peratus literal.

Untuk melepaskan % atau _ literal dalam mod ini, aksara melarikan diri mesti ditentukan selepas kata kunci LIKE. Sintaks untuk berbuat demikian ialah:

SELECT * FROM table_name
WHERE column_name LIKE 'pattern_with_escaped_character' escape 'escape_character';

Sebagai contoh, pertimbangkan jadual dengan nilai berikut:

  • 5% diskaun
  • 50% diskaun

Untuk mendapatkan semula semua baris yang mengandungi "% off", pertanyaan berikut boleh digunakan:

SELECT * FROM mytable
WHERE mycol LIKE '5\% off' escape '\';

Perhatikan bahawa aksara melarikan diri ialah garis miring ke belakang (), diikuti dengan tanda peratus literal.

Sebagai alternatif, untuk membuat pertanyaan yang berfungsi tanpa mengira mod NO_BACKSLASH_ESCAPES, cara yang berbeza watak melarikan diri boleh digunakan. Contohnya:

SELECT * FROM mytable
WHERE mycol LIKE '5|% off' escape '|';

Dalam kes ini, aksara paip (|) digunakan sebagai aksara melarikan diri. Dengan menyatakan watak melarikan diri, adalah mungkin untuk mengelak mekanisme melarikan diri berasaskan garisan terbalik lalai dan mencapai hasil yang diingini.

Atas ialah kandungan terperinci Bagaimana untuk Melarikan Tanda Peratus Tersurat dalam Mod NO_BACKSLASH_ESCAPES MySQL?. 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