Mengira Perkataan dalam MySQL Menggunakan Regex
Mengira bilangan perkataan dalam medan teks menggunakan MySQL boleh mencabar, terutamanya apabila terdapat berbilang ruang antara perkataan. Kaedah yang biasa dicadangkan untuk menggunakan LENGTH(nama) - LENGTH(REPLACE(nama, ' ', '') 1 boleh membawa kepada keputusan yang tidak tepat.
Pengganti Ungkapan Biasa
Satu penyelesaian yang berpotensi ialah memanfaatkan fungsi REGEXP_REPLACE, yang membolehkan penggantian berasaskan ungkapan biasa lanjutan dalam MySQL.
Pelaksanaan:
SELECT LENGTH(REGEXP_REPLACE(name, '[[:space:]]+', ' ')) + 1 FROM table
Pertanyaan ini menggunakan fungsi REGEXP_REPLACE untuk menggantikan semua aksara ruang kosong berturut-turut ([[:space:]] ) dengan satu ruang aksara (' '). Pengkuantiti memastikan bahawa walaupun berbilang ruang berturut-turut runtuh.
Nota Tambahan:
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengira Perkataan dengan Tepat dalam Medan Teks MySQL Menggunakan Ungkapan Biasa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!