where MEMBER_ID IN (select to_number(substr(ids, instr(',' || ids, ',', 1, level), instr(ids || ',', ',', 1, level) - instr(',' || ids, ',', 1, level))) id from (select '1,2,3,4,5' ids from dual) connect by rownum <= length(ids) - length(replace(ids, ',')) + 1)可以这么来转换。把select '1,2,3,4,5'这里的字符串换成需要的,不同Id中间用逗号隔开,每个id都要是数字,否则会报错
不过为啥不超过3999字节呢?
因为在SQL中,varchar2类型最长为4000字节。减去一个','的长度,剩3999
不过为啥不超过3999字节呢?
因为在SQL中,varchar2类型最长为4000字节。减去一个','的长度,剩3999 版主在问个性能方面的问题哈! 用group by 多个字段好 还是在这查询外多jion一个表好SELECT TR.TRANSACTION_ID,TR.TRANSACTION_DATE,TR.TOTAL_ODDS,TR.GAME,TR.HDP_TYPE,TR.IP, TR.IS_CANCELED,TR.IS_ACCEPT,TR.IS_FINISHED 。。 GROUP BY TR.TRANSACTION_ID,TR.TRANSACTION_DATE,TR.HDP_TYPE,TR.TOTAL_ODDS,TR.DISP_BET_AMT,TR.IP,TR.GAME, TR.BET_AMT, TR.IS_CANCELED,TR.IS_ACCEPT,TR.IS_FINISHED
instr(',' || ids, ',', 1, level),
instr(ids || ',', ',', 1, level) -
instr(',' || ids, ',', 1, level))) id
from (select '1,2,3,4,5' ids from dual)
connect by rownum <= length(ids) - length(replace(ids, ',')) + 1)可以这么来转换。把select '1,2,3,4,5'这里的字符串换成需要的,不同Id中间用逗号隔开,每个id都要是数字,否则会报错
因为在SQL中,varchar2类型最长为4000字节。减去一个','的长度,剩3999
因为在SQL中,varchar2类型最长为4000字节。减去一个','的长度,剩3999
版主在问个性能方面的问题哈!
用group by 多个字段好 还是在这查询外多jion一个表好SELECT TR.TRANSACTION_ID,TR.TRANSACTION_DATE,TR.TOTAL_ODDS,TR.GAME,TR.HDP_TYPE,TR.IP,
TR.IS_CANCELED,TR.IS_ACCEPT,TR.IS_FINISHED
。。
GROUP BY
TR.TRANSACTION_ID,TR.TRANSACTION_DATE,TR.HDP_TYPE,TR.TOTAL_ODDS,TR.DISP_BET_AMT,TR.IP,TR.GAME, TR.BET_AMT, TR.IS_CANCELED,TR.IS_ACCEPT,TR.IS_FINISHED
聚合一般是业务需求,和join不是同类型的操作