Mencari Nilai Baris Yang Terkandung Dalam Teks Pertanyaan dalam MySQL
Pengendali LIKE MySQL cemerlang dalam mencari baris yang mengandungi teks pertanyaan yang ditentukan. Pertimbangkan contoh ini:
SELECT name FROM user WHERE name LIKE "%john%"
Baris seperti John Smith dan Peter Johnson akan dikembalikan.
Tetapi bagaimana jika kita mencari sebaliknya, baris yang nilainya wujud dalam teks pertanyaan? Contohnya, memberikan "John Smith dan Peter Johnson adalah kawan baik" dan mencari semua nama daripada jadual yang terdapat dalam rentetan itu. Bagaimanakah kita boleh mencapai ini?
Kendalian SUKA Songsang
Untuk melaksanakan operasi SUKA terbalik ini, menggunakan fungsi CONCAT() adalah kunci:
SELECT name FROM user WHERE 'John Smith and Peter Johnson are best friends' LIKE CONCAT('%', name, '%')
Fungsi CONCAT() menggabungkan rentetan, dalam kes ini, membalut nama setiap baris dalam tanda peratus ("%"). Ini membolehkan operator LIKE menyemak sama ada keseluruhan teks pertanyaan mengandungi setiap nama.
Sebagai contoh, jika jadual pengguna termasuk nama "John" dan "Peter", pertanyaan akan kembali:
| name | | --- | | John | | Peter |
Teknik ini berkesan mengenal pasti baris yang sepadan dengan teks tertentu, menyongsangkan gelagat LIKE tradisional.
Atas ialah kandungan terperinci Bagaimanakah saya boleh mencari baris MySQL yang nilainya terkandung dalam rentetan teks yang diberikan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!