db2 一列截取成多列 如 '{"1","2","3"}'一列 变为'1','2','3' 三列

db2 一列截取成多列 如 '"1","2","3"'一列 变为'1','2','3' 三列
如select s_data from a显示{"1","2","3"}
我希望能按照每一列单独显示出来,或者我希望只显示第二个单独列和第四个单独列

第1个回答  推荐于2016-10-19

一个sql语句是很难达到的,db2不熟,下面是sql server里的方法,供你参考:

declare @s varchar(100),@sql varchar(1000)
set @s='1,2,3,4,5,6,7,8,9,10'
set @sql='select col='''+ replace(@s,',',''' union all select ''')+''''
PRINT @sql
exec (@sql)

当然你可以用辅助表的方式,需要写更复杂的存储过程

本回答被提问者和网友采纳
第2个回答  2014-08-11
写个存储过程来搞吧,用sql实现很难

我觉得吧,这事没必要太强求,这个问题用awk就一句话的事儿
相似回答