3

次のような入力を受け取るストアドプロシージャがあります

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が、ファッションとスポーツでは結果が出ています。誰かが私を助けることができますか?どうすれば絶対文字列を使用でき、replace メソッドも使用できますか。

4

1 に答える 1

0

これを試して:

replace ステートメントを次のように変更します。

SET whrClause =REPLACE(REPLACE(productType, "," ," ',' "),"/" ," ',' ");
于 2012-09-18T10:37:04.443 に答える