【发布时间】:2019-03-15 10:41:13
【问题描述】:
请问,使用 WHERE 条件列表的 SQL 查询列表中的项目限制是多少
SELECT field1, field2, field3 from Table WHERE id IN ('val1', 'val2', 'val3', ... 'valN')
N 的上限是多少?
【问题讨论】:
-
ANSI SQL 没有指定限制。 SQL Server 可能有一个。
-
@AustineLyke 。 . .在 SQL Server 中,可能比您可以键入的更多。我认为它仅限于查询字符串的长度,超过 1 GB。 (请注意,某些数据库确实有这样的限制。)
-
@GordonLinoff:因为
IN在内部扩展为一系列OR子句,您通常会在达到最大文本大小之前达到查询处理器将接受的解析树的限制的查询。 -
对于参数化查询,每个命令的参数限制为 2100 个。
标签: sql sql-server