Rumah >pangkalan data >tutorial mysql >Cara Menghantar Pembolehubah kepada Klausa IN dalam SQL: Penyelesaian Menggunakan FIND_IN_SET
Melalukan Pembolehubah kepada Klausa IN
Adalah wajar untuk menghantar pembolehubah yang mengandungi senarai nilai kepada klausa IN dalam pernyataan SQL . Walau bagaimanapun, fungsi ini tidak disokong dalam sesetengah bahasa pengaturcaraan. Artikel ini meneroka penyelesaian menggunakan fungsi FIND_IN_SET.
Senario Contoh
Pertimbangkan prosedur tersimpan berikut dengan pernyataan SELECT:
<code class="sql">SELECT product_id, product_price FROM product WHERE product_type IN ('AA','BB','CC');</code>
The matlamat adalah untuk menghantar pembolehubah tunggal, input_variables, yang mengandungi rentetan nilai ('AA,BB,CC') ke klausa WHERE.
Menggunakan FIND_IN_SET
Untuk mencapai ini, lulus nilai parameter sebagai rentetan dipisahkan koma: 'AA,BB,CC'. Kemudian, gunakan fungsi FIND_IN_SET:
<code class="sql">SELECT product_id, product_price FROM product WHERE FIND_IN_SET(product_type, param);</code>
Fungsi FIND_IN_SET mengembalikan 1 jika rentetan yang ditentukan ditemui dalam set dan 0 jika tidak. Oleh itu, klausa WHERE hanya mengembalikan baris di mana lajur product_type sepadan dengan salah satu nilai dalam pembolehubah param.
Atas ialah kandungan terperinci Cara Menghantar Pembolehubah kepada Klausa IN dalam SQL: Penyelesaian Menggunakan FIND_IN_SET. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!