zgfp.net
当前位置:首页 >> sql语句 in如何限定个数? >>

sql语句 in如何限定个数?

真有10000个变量你就直接写进去或,使用exists子句 没必要分成 or id in来写,这样说不定会更慢的 或都把这些变量写到一个临时表里面,再将临时表与这个表做JOIN操作

where Column.ParentId between 52 and 59 where Column.ParentId in(52,56,59)

单个参数意思是 一个元素,跟子查询返回的结果集里每个元素比较, 多个参数的话 你可以把这一个元素理解为一个数组,然后子查询返回的结果集里的每个元素也是数组,然后相当于数组跟数组比较。

解决办法,使用临时表: 第一步:创建临时表,并将in内的数据插入到表中 select * into # from (select '1' num union allselect '2' union allselect '3' union all.....select 'N') a第二步:执行in查询 select * from 表 where 列 in(select ...

in参数是指在写存储过程时参数的类型,in参数是传入类型,out参数是传出类型,in out既能传入也能传出

你这样构造in的范围不对. 你这样是把in后面处理成一个字符串了, 而in后面跟的应该是一个范围. 你可以自己写一个返回数据集的函数来将aa.ddid值处理成in的范围, 类似于: 假设函数: ft01(nvarchar(1000)) returns table tb (val int) 那么, 这样更...

请将参数拼接到sql脚本中,不然你直接的结果不是你想要的哦! 例: declare @a varchar(100)set @a ='34,12,335'declare @sql varchar(max)set @sql ='select * from tableName where keyId in ('+@a+')'print (@sql)exec (@sql)请试一试,如有疑...

in是说在什么当中,是用在嵌套里的,具体的应用语句就是 select ... from ... where...in(select... from .... where....) 就是说在第二个查询块中查找符合第一个查询块的条件的事物.就像筛选那样.先查找出一个范围,再在其中进一步找.

最大数量不超过1000个,否则报错oracle 10g下 ORA-01795: 列表中的最大表达式数为 1000

sql中,in后面是可以跟查询语句,只要是一个结果集就行,对于是否有个数限制,倒还真没遇到,建议你把你的参数写成select语句形式,实际测试一下

网站首页 | 网站地图
All rights reserved Powered by www.zgfp.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com