Menyemak Nombor dalam Gumpalan Dipisahkan Koma dalam MySQL
Pertimbangkan jadual berikut:
UID(int) | NUMBERS(blob) ---------------------- 1 | 1,13,15,20 2 | 3,10,15,20 3 | 3,15
Untuk semak sama ada nombor tertentu (cth., 3 dan 15) wujud dalam gumpalan NUMBERS, kita boleh menggunakan IN pengendali. Operator ini menguji sama ada nilai terdapat dalam rentetan yang dipisahkan koma.
Penyelesaian:
SELECT * FROM table WHERE 3 IN (NUMBERS) AND 15 IN (NUMBERS)
Dalam pertanyaan ini, operator IN digunakan dua kali:
Pertanyaan mengembalikan baris hanya jika kedua-dua syarat dipenuhi. Oleh itu, hanya baris 2 akan dipilih kerana ia mengandungi kedua-dua 3 dan 15 dalam gumpalan NUMBERSnya.
Nota Tambahan:
Satu lagi varian pertanyaan ini ialah:
SELECT * FROM table WHERE NUMBERS LIKE '%3%' AND NUMBERS LIKE '%15%'
Walau bagaimanapun, menggunakan LIKE %% tidak disyorkan kerana ia boleh membawa kepada isu prestasi dengan set data yang besar. Pengendali IN adalah lebih cekap untuk jenis semakan ini.
Atas ialah kandungan terperinci Bagaimana untuk menyemak Nombor Tertentu dalam Gumpalan Dipisahkan Koma dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!