Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk Semak sama ada Nombor Khusus Wujud dalam Senarai Dipisahkan Koma dalam MySQL?

Bagaimana untuk Semak sama ada Nombor Khusus Wujud dalam Senarai Dipisahkan Koma dalam MySQL?

Barbara Streisand
Barbara Streisandasal
2024-11-25 05:36:36642semak imbas

How to Check if Specific Numbers Exist in a Comma-Separated List in MySQL?

Mengambil Data Apabila Nilai Wujud dalam Senarai Dipisahkan Koma (MySQL)

Masalah:

Anda mempunyai jadual MySQL di mana salah satu lajur, dipanggil NUMBERS, mengandungi dipisahkan koma senarai nombor. Anda ingin menentukan sama ada nombor tertentu terdapat dalam lajur NUMBERS untuk baris tertentu. Sebagai contoh, anda perlu menyemak sama ada nombor 3 dan 15 terdapat dalam lajur NUMBERS untuk baris dengan UID 2.

Penyelesaian:

Anda boleh gunakan operator IN untuk melakukan semakan ini. Operator IN membenarkan anda untuk menentukan senarai nilai dan menyemak sama ada nilai yang diberikan sepadan dengan mana-mana nilai dalam senarai. Dalam kes ini, anda boleh menggunakan operator IN untuk menyemak sama ada nombor 3 dan 15 terdapat dalam lajur NUMBERS untuk baris tertentu.

Salah satu cara untuk melakukannya ialah menggunakan pertanyaan berikut:

SELECT * FROM table WHERE 3 IN (NUMBERS) AND 15 IN (NUMBERS);

Pertanyaan ini akan mengembalikan semua baris daripada jadual yang kedua-duanya terdapat nombor 3 dan 15 dalam lajur NUMBERS. Dalam contoh anda, pertanyaan ini akan mengembalikan baris dengan UID 2 kerana ia mengandungi kedua-dua 3 dan 15 dalam lajur NUMBERS.

Alternatif lain ialah menggunakan fungsi FIND_IN_SET(). Fungsi FIND_IN_SET() mengambil dua argumen: nilai dan senarai dipisahkan koma. Ia mengembalikan kedudukan nilai dalam senarai jika ia ada, atau 0 jika nilai tidak ada. Anda boleh menggunakan fungsi ini untuk menyemak sama ada nombor tertentu terdapat dalam lajur NUMBERS dengan menggunakan pertanyaan berikut:

SELECT * FROM table WHERE FIND_IN_SET(3, NUMBERS) > 0 AND FIND_IN_SET(15, NUMBERS) > 0;

Pertanyaan ini akan mengembalikan hasil yang sama seperti pertanyaan sebelumnya, tetapi ia menggunakan FIND_IN_SET( ) berfungsi untuk menentukan sama ada nombor 3 dan 15 terdapat dalam lajur NOMBOR.

Kedua-dua kaedah ini boleh digunakan untuk menyemak sama ada nombor tertentu hadir dalam senarai dipisahkan koma dalam jadual MySQL. Anda boleh menggunakan mana-mana kaedah yang anda suka.

Atas ialah kandungan terperinci Bagaimana untuk Semak sama ada Nombor Khusus Wujud dalam Senarai 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