Mengapa Pertanyaan MySQL Saya Menggunakan LIKE Gagal Memadankan Rentetan Bermula dengan \'ALA\' diikuti dengan Satu Digit?

Patricia Arquette
Lepaskan: 2024-10-26 11:34:02
asal
824 orang telah melayarinya

 Why is My MySQL Query Using LIKE Failing to Match Strings Starting with

Pemadanan Regex dalam Pertanyaan MySQL

Dalam pengurusan pangkalan data, ungkapan biasa (regex) ialah alat yang berkuasa untuk mencari dan memadankan corak dalam rentetan. Sebagai contoh, anda mungkin perlu mencari rekod tertentu dalam pangkalan data berdasarkan kriteria rentetan tertentu.

Masalah: Regex dengan Operator LIKE

Anda menghadapi masalah semasa cuba mencari rekod yang bermula dengan rentetan tertentu diikuti dengan satu digit menggunakan operator LIKE. Pertanyaan anda tidak berjaya mengembalikan rekod yang sepadan, walaupun terdapat data yang berkaitan dalam jadual.

Penyelesaian: Menggunakan REGEXP Daripada LIKE

Untuk menyelesaikan isu, ia disyorkan untuk menggunakan operator REGEXP dan bukannya LIKE. REGEXP menawarkan keupayaan padanan corak yang lebih maju dan fleksibel.

Berikut ialah pertanyaan terlaras yang sepatutnya berfungsi dengan betul:

SELECT trecord FROM `tbl` WHERE (trecord REGEXP '^ALA[0-9]')
Salin selepas log masuk

Penjelasan:

  • Watak ^ melabuhkan corak pada permulaan rentetan, memastikan ia sepadan dengan rekod yang bermula dengan "ALA."
  • Kelas aksara [0-9] sepadan dengan mana-mana digit tunggal dari 0 hingga 9.
  • Bersama-sama, '^ALA[0-9]' sepadan dengan rentetan yang bermula dengan "ALA" diikuti dengan satu digit.

Pertimbangan Tambahan

  • Pastikan enjin pangkalan data anda menyokong REGEXP, kerana sesetengah versi lama mungkin tidak.
  • Enjin innodb, yang anda gunakan, menyokong REGEXP.
  • Jika anda menghadapi sebarang masalah, sahkan bahawa konfigurasi PHP MySQL anda adalah betul.

Atas ialah kandungan terperinci Mengapa Pertanyaan MySQL Saya Menggunakan LIKE Gagal Memadankan Rentetan Bermula dengan \'ALA\' diikuti dengan Satu Digit?. 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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!