我想創建一個存儲過程,將逗號分隔列表作爲值,並將其推入具有IN子句的選擇語句。我知道find_in_set可以工作,但確實會有性能開銷。我還試用了一份準備聲明,但問題依然存在。MySql存儲過程和逗號分隔Varchar與聲明
我的實施例:
我的參數是SP1和包含值: 'valuex,VALUE年,valuez'。
BEGIN
set @sql = concat('select * from tablename WHERE assignedTo in (', sp1, ')');
PREPARE q FROM @sql;
execute q;
END
正如預期的那樣,由於SQL會將值視爲列名,因此會引發錯誤。我的問題是我如何實現:'valuex','valuey','valuez'FROM'valuex,valuey,valuez'?
同樣如上有效 - 謝謝。 –