整数の配列とその他の入力を受け取るストアド プロシージャを作成したいと考えています。例:
リーリー
ストアド プロシージャでは次のように使用したいと思います:
リーリー
問題は、この方法では配列の最初の整数に対応する行しか取得できないことです。
それを機能させる方法はありますか (FIND_IN_SET
も使用してみましたが、IN
とまったく同じことを行います)。
ストアド プロシージャをテストするために行った呼び出しは、CALL test (12, 13, '1, 2, 3')
でした。
配列という概念はありません。したがって、これがおそらくあなたができることです
array
変数の値は、文字列としての
'1, 2, 3'です。
文字列 各値を一時テーブルに挿入します-
したがって、一時テーブルには
1,2,3を分割するための区切り文字として
,
を使用します。が含まれます。
最後に一時テーブルを使用しますFIND_IN_SET() は機能しますが、数値文字列にスペースを含めることはできません。
###デモ:### リーリーしたがって、プロシージャに渡す前にスペースを含まないリストを作成するか、REPLACE() を使用してプロシージャ内のスペースを削除する必要があります。