Rumah  >  Artikel  >  pangkalan data  >  Cara Menggunakan REGEXP untuk Padanan Rentetan Tepat dalam Pertanyaan MySQL: Apabila LIKE Gagal, Apakah Alternatifnya?

Cara Menggunakan REGEXP untuk Padanan Rentetan Tepat dalam Pertanyaan MySQL: Apabila LIKE Gagal, Apakah Alternatifnya?

Linda Hamilton
Linda Hamiltonasal
2024-10-26 12:21:03215semak imbas

How to Use REGEXP for Precise String Matching in MySQL Queries:  When LIKE Fails, What's the Alternative?

Menggunakan REGEXP untuk Pencarian Regex dalam Pertanyaan MySQL

Pertanyaan anda mengembalikan rekod nol kerana pengendali LIKE tidak sesuai untuk memadankan satu aksara diikuti dengan aksara satu digit. Untuk mencapai matlamat ini, anda boleh menggunakan operator REGEXP, yang menyediakan keupayaan pemadanan ungkapan biasa yang lebih maju dalam MySQL.

Dalam kes anda, pertanyaan berikut akan memadankan rekod bermula dengan rentetan "ALA" dan diikuti dengan satu digit:

<code class="mysql">SELECT trecord FROM `tbl` WHERE (trecord REGEXP '^ALA[0-9]')</code>

Begini cara pengendali REGEXP berfungsi:

  • ^ sepadan dengan permulaan rentetan.
  • ALA sepadan dengan rentetan "ALA" pada permulaan rentetan.
  • [0-9] sepadan dengan mana-mana aksara satu digit.

Menggabungkan elemen ini, pertanyaan di atas hanya akan sepadan dengan rekod yang bermula dengan "ALA" dan mempunyai aksara satu digit sejurus selepas itu.

Contohnya, jika jadual anda mengandungi rekod berikut:

trecord
-------
ALA0000
ALA0001
ALA0002
ALAB000

Pertanyaan akan mengembalikan hasil berikut:

trecord
-------
ALA0000
ALA0001
ALA0002

Perhatikan bahawa pengendali REGEXP lebih berkuasa daripada LIKE dan menyokong pelbagai corak ungkapan biasa. Ia adalah alat serba boleh untuk pemadanan rentetan lanjutan dalam pertanyaan MySQL.

Atas ialah kandungan terperinci Cara Menggunakan REGEXP untuk Padanan Rentetan Tepat dalam Pertanyaan MySQL: Apabila LIKE Gagal, Apakah Alternatifnya?. 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