如何把oracle中查询出来的一列进行拆分。如查出结果为1@2@3@4,如何拆分成 1 2 3

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何把oracle中查询出来的一列进行拆分。如查出结果为1@2@3@4,如何拆分成 1 2 3相关的知识,希望对你有一定的参考价值。

select seqn from table;得到的值是1@2@3@4,这该如何操作呢
大哥我是说在数据库中如何做,不是说在java中怎么实现的。

参考技术A 通过instr和truncate函数进行拆分。
instr得到各个顺序的@的位置,truncate通过得到的位置情况进行字符串截取。
参考技术B select replace((select seqn from table) ,'@',' ') from dual 参考技术C replace('1@2@3@4','@',' ') from dual
是把@替换成空串
if( id.indexOf(","+?)!=-1 )
是看是否存在为?的字符
public List<char> getChar(String seqn)
List<char> charlist=new ArrayList<char>();
for(int i=0;i<seqn.length;i++)

char str=seqn.charAt(i);
if(!str.equals("@"))
charlist.add(str);


return charlist;
本回答被提问者采纳

以上是关于如何把oracle中查询出来的一列进行拆分。如查出结果为1@2@3@4,如何拆分成 1 2 3的主要内容,如果未能解决你的问题,请参考以下文章

mysql 中如何把查询出来的一列数据当成条件(字段)来使用?

sql查询 表中一列不重复 显示多列

oracle 如何将一个字段里的值拆分为多个值显示出来

在oracle中将一列数据拆分为多列

plsql子查询查出多行怎么修改

如何将SQL查询出来的一列数据赋值,执行存储过程