Rumah >pangkalan data >tutorial mysql >Berikut ialah beberapa pilihan tajuk, bermain dengan tahap kekhususan yang berbeza: **Terus & Ringkas:** * **Cara Menghantar Pembolehubah ke Klausa IN dalam SQL** * **Penapisan Dinamik dengan Klausa IN: Menggunakan FI
Latar Belakang:
Dalam SQL, klausa IN membenarkan anda membandingkan nilai lajur kepada satu set nilai. Dalam senario tertentu, anda mungkin mahu menghantar pembolehubah yang mengandungi senarai nilai kepada klausa IN secara dinamik.
Masalah:
Anda mempunyai SP dengan pernyataan SELECT yang menggunakan klausa IN untuk menapis hasil berdasarkan nilai tertentu daripada senarai. Walau bagaimanapun, anda perlu menghantar senarai nilai sebagai pembolehubah tunggal dan bukannya menyatakannya secara individu.
Penyelesaian:
Untuk menghantar pembolehubah kepada klausa IN, pertimbangkan menggunakan fungsi FIND_IN_SET. Fungsi ini mengambil dua parameter:
Pertanyaan Diubah Suai:
SELECT product_id, product_price FROM product WHERE FIND_IN_SET(product_type, param);
Nilai Parameter Lulus:
Apabila memanggil SP, lulus senarai nilai yang dipisahkan koma sebagai nilai pembolehubah 'param'. Contohnya:
EXEC SP @param = 'AA,BB,CC'
Penjelasan:
Fungsi FIND_IN_SET mengembalikan 1 jika nilai lajur yang ditentukan ditemui dalam senarai yang dipisahkan koma dan 0 sebaliknya. Dengan menggunakan fungsi ini, anda boleh menapis hasil secara dinamik berdasarkan nilai yang diluluskan dalam pembolehubah 'param'.
Atas ialah kandungan terperinci Berikut ialah beberapa pilihan tajuk, bermain dengan tahap kekhususan yang berbeza: **Terus & Ringkas:** * **Cara Menghantar Pembolehubah ke Klausa IN dalam SQL** * **Penapisan Dinamik dengan Klausa IN: Menggunakan FI. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!