Rumah >pangkalan data >tutorial mysql >Bagaimana untuk menyemak Nombor Tertentu dalam Gumpalan Dipisahkan Koma dalam MySQL?

Bagaimana untuk menyemak Nombor Tertentu dalam Gumpalan Dipisahkan Koma dalam MySQL?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-17 07:53:03657semak imbas

How to Check for Specific Numbers in a Comma-Separated Blob in MySQL?

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:

  • 3 IN (NOMBOR) menyemak sama ada nombor 3 berada dalam NOMBOR gumpalan.
  • 15 IN (NUMBERS) menyemak sama ada nombor 15 berada dalam gumpalan NUMBERS.

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!

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