我有一个存储过程,它接受像这样的输入
myProcedure("Fashion,Sports", "Shirts, Pants", null, null , "0,100")
myProc( productType, Item, ProductID, costprice, minMaxQuantity);
现在对于第一个参数,myProcedure
创建一个类似的 mysql 查询
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
) Replace 方法无法正常工作。我没有得到结果ProductType = Adm/Husleie/Royalty
,但对于时尚和体育,我得到了结果。有人能帮我吗。如何使用绝对字符串,也可以使用替换方法。