背景:
在SQL 中,IN 子句允許您比較列的值到一組值。在某些情況下,您可能希望動態地將包含值清單的變數傳遞給 IN 子句。
問題:
您有一個帶有 SELECT 語句的 SP它使用 IN 子句根據列表中的特定值過濾結果。但是,您需要將值列表作為單一變數傳遞,而不是單獨指定它們。
解:
要將變數傳遞給 IN 子句,請考慮使用 FIND_IN_SET 函數。此函數採用兩個參數:
修改查詢:
SELECT product_id, product_price FROM product WHERE FIND_IN_SET(product_type, param);
傳遞參數值:
傳遞參數值:
EXEC SP @param = 'AA,BB,CC'
解釋:如果在逗號分隔清單中找到指定的列值,FIND_IN_SET 函數會傳回 1,否則傳回 0。透過使用此函數,您可以根據「param」變數中傳遞的值動態過濾結果。
以上是以下是一些標題選項,具有不同程度的特異性: **直接簡潔:** * **如何在 SQL 中將變數傳遞給 IN 子句** * **使用 IN 子句進行動態篩選:使用 FI的詳細內容。更多資訊請關注PHP中文網其他相關文章!