首頁 >資料庫 >mysql教程 >如何將字串值傳遞給預存程序中的 IN 子句?

如何將字串值傳遞給預存程序中的 IN 子句?

Susan Sarandon
Susan Sarandon原創
2024-10-26 04:28:301000瀏覽

How to Pass a String of Values to an IN Clause in a Stored Procedure?

將變數傳遞給IN 子句

考慮一個包含IN 子句的SELECT 語句的預存程序:

SELECT product_id, product_price FROM product
WHERE product_type IN ('AA','BB','CC');

如果您希望從包含一串值的單一變數填入IN 子句值,例如:

'AA,BB,CC'

使用此方法可能會遇到困難。解決方案如下:

不要嘗試將字串直接傳遞給IN 子句,而是將其作為以下格式的參數值傳遞:

'AA,BB,CC'

利用FIND_IN_SET 函數來確定是否每個product_type 值都會出現在輸入參數中:

SELECT product_id, product_price
FROM product
WHERE FIND_IN_SET(product_type, param);

在此修改後的語句中,param 表示包含值字串的輸入參數。

以上是如何將字串值傳遞給預存程序中的 IN 子句?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn