WHERE col IN (...) 条件の制限 質問する

WHERE col IN (...) 条件の制限 質問する

次のコードを使用しています:

SELECT * FROM table
WHERE Col IN (123,123,222,....)

ただし、句に約 3000 を超える数値を入力するとIN、SQL はエラーをスローします。

サイズ制限やそれに類するものがあるのか​​誰か知っていますか?!!

ベストアンサー1

使用しているデータベース エンジンによっては、命令の長さに制限がある場合があります。

SQL Server には非常に大きな制限があります。

http://msdn.microsoft.com/en-us/library/ms143432.aspx

ORACLE は、反対側で非常に簡単に到達できる制限を持っています。

したがって、大きな IN 句の場合は、一時テーブルを作成し、値を挿入して JOIN を実行する方が適切です。動作も速くなります。

おすすめ記事