问题描述
今天写SQL遇到一个问题就是在in的时候里面的参数不能超过1000个向大家求助下例如有如下字符串Stringtmp="123,456,789,.....";//后面参数以此类推总数据超过3000
我循环写一条SQL语句如果tmp里面的参数超过1000就分割成一个string例如有2000个id则需要生成SQL如下:select*fromuseruwhereu.idin(str1)oru.idin(str2)--此时,str1,str2都是代表包含了类似于tmp的1000个参数如果是3千则后面追加u.idin(str3)
求助CSDNer给点灵感
解决方案
解决方案二:
这个。。。这么多in,查询效率你敢保证么?真要实现,split(",")然后对数组的length下标进行操作分成以1000为单位的若干段就行了
解决方案三:
我试了用split分割后还要用,给他拼上拼成123,456样式就又复杂了
解决方案四:
有没有可能用正则表达式分割成若干个123,456类型的string
解决方案五:
...这复杂吗?三五行程序的事情引用2楼kevindooo的回复:
我试了用split分割后还要用,给他拼上拼成123,456样式就又复杂了
解决方案六:
嗯怎么取1~10001001~20002001~3000的数据呢
解决方案七:
那你就通过逗号个数去就OK了哈。。。一个逗号是两个数据两个逗号是三个数据你去到第1000个逗号前一个数据就可以了哈。。对string进行循环
时间: 2024-09-20 00:40:17