MySql在输入字符串中使用“/”替换方法

时间:2012-09-18 10:35:02

标签: mysql sql

我有一个存储过程,它接受像

这样的输入
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) 替换方法无法正常工作。我没有得到ProductType = Adm/Husleie/Royalty的结果,但对于时尚和运动,我得到了结果。有人能帮我吗。我怎样才能使用绝对字符串,我也可以使用替换方法。

1 个答案:

答案 0 :(得分:0)

试试这个:

将您的替换语句更改为

SET whrClause =REPLACE(REPLACE(productType, "," ," ',' "),"/" ," ',' ");