Menyoal Data Semasa Mengabaikan Ruang Medan
Apabila melakukan pertanyaan pangkalan data, ruang dalam nilai medan boleh menimbulkan cabaran untuk pengambilan data. Pertimbangkan pertanyaan berikut:
SELECT * FROM mytable WHERE username = "JohnBobJones" SELECT * FROM mytable WHERE username = "John Bob Jones"
Pertanyaan ini akan mendapatkan semula entri dengan padanan tepat "JohnBobJones" dan "John Bob Jones" masing-masing. Walau bagaimanapun, pada hakikatnya, data mungkin mengandungi ruang dalam bentuk yang berbeza-beza.
Untuk menangani isu ini dan mendapatkan semula data sambil mengabaikan ruang, strategi boleh digunakan yang menggantikan semua ruang dalam nilai medan dengan rentetan kosong. Ini boleh dicapai menggunakan fungsi REPLACE().
Sebagai contoh, pertanyaan yang diubah suai berikut akan menemui semua entri di mana medan nama pengguna, selepas ruang dialih keluar, sepadan dengan nilai yang ditentukan:
SELECT * FROM mytable WHERE REPLACE(username, ' ', '') = REPLACE("John Bob Jones", ' ', '')
Pertanyaan ini akan berjaya mendapatkan semula tiga entri yang dinyatakan sebelum ini, tanpa mengira kehadiran ruang.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyoal Data Pangkalan Data Semasa Mengabaikan Ruang dalam Nilai Medan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!