猿问

限制WHERE col IN(...)条件

限制WHERE col IN(...)条件

我正在使用以下代码:

SELECT * FROM tableWHERE Col IN (123,123,222,....)

但是,如果我在IN子句中放入超过~3000个数字,则SQL会抛出错误。

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


元芳怎么了
浏览 747回答 3
3回答

慕虎7371278

有一个限制,但您可以将值拆分为in()的单独块Select * From table Where Col IN (123,123,222,....)or Col IN (456,878,888,....)

子衿沉夜

参数化查询并使用表值参数传递ID 。例如,定义以下类型:CREATE TYPE IdTable AS TABLE (Id INT NOT NULL PRIMARY KEY)连同以下存储过程:CREATE PROCEDURE sp__Procedure_Name    @OrderIDs IdTable READONLY,AS     SELECT *     FROM table     WHERE Col IN (SELECT Id FROM @OrderIDs)
随时随地看视频慕课网APP
我要回答