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

限制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 关注
  • 759 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号