为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

元芳怎么了 2019-08-08 16:49:21
限制WHERE col IN(...)条件我正在使用以下代码:SELECT * FROM tableWHERE Col IN (123,123,222,....)但是,如果我在IN子句中放入超过~3000个数字,则SQL会抛出错误。有谁知道是否有尺寸限制或类似的东西?!!
查看完整描述

3 回答

?
慕虎7371278

TA贡献1802条经验 获得超4个赞

有一个限制,但您可以将值拆分为in()的单独块

Select * From table Where Col IN (123,123,222,....)or Col IN (456,878,888,....)


查看完整回答
反对 回复 2019-08-08
?
子衿沉夜

TA贡献1828条经验 获得超3个赞

参数化查询并使用表值参数传递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)


查看完整回答
反对 回复 2019-08-08
  • 3 回答
  • 0 关注
  • 746 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信