Rumah  >  Artikel  >  pangkalan data  >  Cara Menghantar Pembolehubah kepada Klausa IN dalam SQL: Penyelesaian Menggunakan FIND_IN_SET

Cara Menghantar Pembolehubah kepada Klausa IN dalam SQL: Penyelesaian Menggunakan FIND_IN_SET

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-27 06:01:29523semak imbas

How to Pass Variables to IN Clauses in SQL: A Workaround Using 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!

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