大侠留步,请教个问题,数据转化的 已知表中的一个字段(varchar2)的值是 12,23,23,45,现在需要slect * from a where id in(XXXXX--上面的字段),需要怎么做啊 ? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 无须转换,字符型,加引号 '12' slect * from a where id in ('12','23','45') 用instr 查找看是否存在符合id这个字串~ 在补充下、 12 、 34 111、 这是另一个字典表的主键(num型),而且 数据长度不一定,多选框啊。 给个拆分的例子,匹配的sql就不写了。-- 测试数据with tab as(select '12.5,14.0,15.8,18.5,' data from dualunion all select '14.3,15.5,17.5,19.0,' from dual)-- 查询 SQLselect DISTINCT replace( regexp_substr(data||',','.*?'||'[,]',1,level) ,',') datafrom tab connect by level <= (length(DATA) - length(replace(DATA, ',')) ) / length(',') -- 要截取的字符串 域数 ( 即, 以 '*' 分隔出来的字符串数量,有多少个) -- 说明 (字符串长度 - 去除分隔符的长度) / 分隔符长度 = 分隔出的 字符串数量 -- 计算字符串长度时 , 需再补上一个分隔符,因为 1|2 => ( 分隔符数量 + 1 = 分隔域 )order by 1; 请教一个ORACLE中遇到多次都无法解决的问题 pl/sql developer大小写字母问题 oracle sql 相同数据合并 题: 比Google还牛X的面试问题 求SQL语句 怎样结合这两句SQL? 查询一个用户下全部的列,用哪个系统表?马上给分 oracle中的表空间为何越来越大? oracle function 那里有oracle帮助文档(html格式)下载?先谢了 从excel中导入数据问什么总有空格出现? 求救tnsnames.ora的一些问题
-- 测试数据
with tab as(
select '12.5,14.0,15.8,18.5,' data from dual
union all
select '14.3,15.5,17.5,19.0,' from dual
)-- 查询 SQL
select DISTINCT
replace(
regexp_substr(data||',','.*?'||'[,]',1,level)
,',') data
from tab
connect by
level <=
(length(DATA) - length(replace(DATA, ',')) ) / length(',')
-- 要截取的字符串 域数 ( 即, 以 '*' 分隔出来的字符串数量,有多少个)
-- 说明 (字符串长度 - 去除分隔符的长度) / 分隔符长度 = 分隔出的 字符串数量
-- 计算字符串长度时 , 需再补上一个分隔符,因为 1|2 => ( 分隔符数量 + 1 = 分隔域 )
order by 1;