我想创建存储过程,以动态逗号分隔列和值

时间:2018-11-30 07:30:44

标签: mysql sql database stored-procedures

我将值传递给存储过程。逻辑是用逗号和循环将值分开。

@Colomns Id,Firstname,Lastname
@values 1,'foo','bar'

查询应为

Select * from user where Id = 1 and Firstname = 'foo' and Lastname = 'bar'

1 个答案:

答案 0 :(得分:0)

只需使用substring_index()concat()

Select *
from user
where concat_ws(Id, firstname, lastname) = @param;

然后,修复存储过程以采用三个参数!将三个值放入字符串中而不是传递三个单独的值没有好处。