SQL Server では、複数の値を含む文字列を単一の変数を介して IN 句に渡そうとするときに、一般的な制限が発生します。これにより、一連の値に基づいて条件付きでデータをクエリするときに問題が発生する可能性があります。
SELECT ステートメントを使用した次のストアド プロシージャを考えてみましょう。
SELECT product_id, product_price FROM product WHERE product_type IN ('AA','BB','CC');
目的カンマ区切りの値を含む変数を受け入れるようにこのクエリを変更することです。
FIND_IN_SET 関数は、この問題の解決策を提供します。この関数は、指定された文字列内に指定された部分文字列が見つかるかどうかをチェックします。この関数を使用すると、クエリを次のように書き換えることができます。
SELECT product_id, product_price FROM product WHERE FIND_IN_SET(product_type, param);
ここで、param はカンマ区切りの値を含む変数を表します。たとえば、param に値「AA,BB,CC」が含まれている場合、クエリは product_type 列がこれらの値のいずれかに一致する行を取得します。
以上が以下にいくつかのタイトルのオプションを示します。それぞれが問題の若干異なる側面を強調しています。 **オプション 1: 制限に重点を置く** * **SQL Server の IN 句に複数の値を渡すにはどうすればよいですか?** **Oの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。