変数を IN 句に渡す
値のリストを含む変数を SQL ステートメントの IN 句に渡すことが望ましい場合があります。 。ただし、この機能は一部のプログラミング言語では本質的にサポートされていません。この記事では、FIND_IN_SET 関数を使用した回避策について説明します。
シナリオ例
SELECT ステートメントを使用した次のストアド プロシージャを考えてみましょう。
<code class="sql">SELECT product_id, product_price FROM product WHERE product_type IN ('AA','BB','CC');</code>
目標は、値の文字列 ('AA,BB,CC') を含む単一の変数 input_variables を WHERE 句に渡すことです。
FIND_IN_SET の使用
これを行うには、パラメータ値をカンマ区切りの文字列「AA,BB,CC」として渡します。次に、FIND_IN_SET 関数を使用します。
<code class="sql">SELECT product_id, product_price FROM product WHERE FIND_IN_SET(product_type, param);</code>
FIND_IN_SET 関数は、指定された文字列がセット内に見つかった場合は 1 を返し、見つからない場合は 0 を返します。したがって、WHERE 句は、product_type 列が param 変数のいずれかの値と一致する行のみを返します。
以上がSQL の IN 句に変数を渡す方法: FIND_IN_SET を使用した回避策の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。