一尘不染

WHERE col IN(')条件的限制

sql

我正在使用以下代码:

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

但是,如果在IN子句中放置了超过3000个数字,则SQL会引发错误。

有谁知道是否有尺寸限制或类似限制?!


阅读 138

收藏
2021-05-05

共1个答案

一尘不染

根据所使用的数据库引擎的不同,指令的长度可能会有限制。

SQL Server有一个很大的限制:

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

ORACLE在另一端有一个非常容易达到的限制。

因此,对于大的IN子句,最好创建一个临时表,插入值并执行JOIN。它也可以更快地工作。

2021-05-05