ORACLE 初始字符串 ‘A,B,C,D’ ;想要的结果 字符串 ‘A’,'B','C','D' ;最后 写入 where xx.xx in (‘A’,'B','C','D' ) 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 where instr(',A,B,C,D,',','||XX.XX||',')>0 select ''''||replace('A,B,C,D',',',''',''')||'''' from dual; WITH t1 AS (SELECT rtrim(',' || 'A,B,C,D', ',') str FROM dual)SELECT * FROM your_table t --your_table你的表名 WHERE t.col1 IN --col1你的字段名 (SELECT substr(t1.str, instr(t1.str, ',', 1, LEVEL) + 1, decode(instr(t1.str, ',', 1, LEVEL + 1), 0, length(str) + 1, instr(t1.str, ',', 1, LEVEL + 1)) - instr(t1.str, ',', 1, LEVEL) - 1) s FROM dual, t1 CONNECT BY LEVEL <= (SELECT length(str) - length(REPLACE(str, ',')) FROM t1)); 新手,select ''''||replace('A,B,C,D',',',''',''')||'''' from dual;这个写法不太懂,平时用replace就知道普通的替换,麻烦解释下,不胜感激 如果表有重复数据,如何删除重复数据 WIn7 oracle10g兼容模式安装,plsql无法连接数据库 在客户端用 SQL*PLUS WORKWHEET登陆数据库服务器提示错误,请高手指点. 统计里面根据某一字段去除相通项 初始数据的问题 存储过程的问题 怎么样取2007-07-11字符串中07的值? 提高服务器的cpu和内存的利用率 求救!procedure中的问题。在线等,急。 在Windows2K的服务程序中连接Oracle的问题 用 存储过程时 总提示 表TABLE_HR 发生了变化, 触发器/函数不能读它 存储过程
(SELECT rtrim(',' || 'A,B,C,D', ',') str FROM dual)
SELECT *
FROM your_table t --your_table你的表名
WHERE t.col1 IN --col1你的字段名
(SELECT substr(t1.str,
instr(t1.str, ',', 1, LEVEL) + 1,
decode(instr(t1.str, ',', 1, LEVEL + 1),
0,
length(str) + 1,
instr(t1.str, ',', 1, LEVEL + 1)) -
instr(t1.str, ',', 1, LEVEL) - 1) s
FROM dual, t1
CONNECT BY LEVEL <=
(SELECT length(str) - length(REPLACE(str, ',')) FROM t1));
这个写法不太懂,平时用replace就知道普通的替换,
麻烦解释下,不胜感激