小弟求教一个拆分字符串的方法

狐狸丫丫 2009-08-26 04:49:59
传进去一个字符串 IDLIST(1,2,3,4,5)
目的是要SELECT * FROM TABLE WHERE ID IN (IDLIST)
希望大侠们赐教啊~~~~~
...全文
59 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
小灰狼W 2009-08-26
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 daybreakken 的回复:]
我用=替换LIKE了,呵呵
[/Quote]
用=就不是正则表达式了
不会有错误,因为我在id前后各加了一个,
狐狸丫丫 2009-08-26
  • 打赏
  • 举报
回复
我用=替换LIKE了,呵呵
狐狸丫丫 2009-08-26
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 wildwave 的回复:]
select * from table_name
  where translate(idlist,'()',',,') like '%,'||id||',%'

[/Quote]
用LIKE的话,会不会出现问题,例如(1,11,111)会有错误的吧
小灰狼W 2009-08-26
  • 打赏
  • 举报
回复
一样的,你在过程里把相关的部分替换下就好了
我们不知道你具体是怎么用的
SELECT * FROM TABLE WHERE ...这个在pl/sql里是非法语句
狐狸丫丫 2009-08-26
  • 打赏
  • 举报
回复
我是写在存储过程里的,麻烦大侠再写下
小灰狼W 2009-08-26
  • 打赏
  • 举报
回复
select * from table_name
where translate(idlist,'()',',,') like '%,'||id||',%'
feng2 2009-08-26
  • 打赏
  • 举报
回复
select * from table_name where instr(IDLIST,id)>0;
majy 2009-08-26
  • 打赏
  • 举报
回复
execute immediate 'select * from table where id in ' || idlist;

17,078

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧