我有一个存储过程,它接受像
这样的输入myProcedure("Fashion,Sports", "Shirts, Pants", null, null , "0,100")
myProc( productType, Item, ProductID, costprice, minMaxQuantity);
现在,对于第一个参数,myProcedure
创建一个类似
Select * from myTable where ProductType in ('Fashion,'Sports')
and Item in ('Shirts','Pants');
为了创建“in”语句部分我正在使用mysql的“Repalce”方法
SET whrClause = REPLACE(productType, "," ," ',' ");
通过这种方式,我可以进行正确的查询,甚至可以获得所需的结果。
但问题是,在某些时候输入
myProcedure("Adm/Husleie/Royalty,Fashion,Sports", "Shirts, Pants", null, null , "0,100");
现在是第一个参数的第一部分(即Adm/Husleie/Royalty
)
替换方法无法正常工作。我没有得到ProductType = Adm/Husleie/Royalty
的结果,但对于时尚和运动,我得到了结果。有人能帮我吗。我怎样才能使用绝对字符串,我也可以使用替换方法。
答案 0 :(得分:0)
试试这个:
将您的替换语句更改为
SET whrClause =REPLACE(REPLACE(productType, "," ," ',' "),"/" ," ',' ");