如何将一个字符串转化成一个表?
时间:2011-09-06
来源:互联网
字符串 1,0,100,5;2,100,500,20;3,500,1000,40;
转化成如下表
1 0 100 5
2 100 500 20
3 500 1000 40
转化成如下表
1 0 100 5
2 100 500 20
3 500 1000 40
作者: terryhuang 发布时间: 2011-09-06
知道字符串的固定格式吗?
如果格式固定的话,可以通过截取字符串来解决
用截取函数substring
如果格式固定的话,可以通过截取字符串来解决
用截取函数substring
作者: delphisanding1 发布时间: 2011-09-06
SQL code
sys@TBWORA> with a as (select ';'||'1,0,100,5;2,100,500,20;3,500,1000,40;' as str1 from dual), 2 b as (select substr(str1, instr(str1,';',1,level)+1, 3 instr(str1,';',1,level+1)-instr(str1,';',1,level)-1) as str2 4 from a connect by level <=length(a.str1)-length(replace(a.str1,';','')) ), 5 c as (select str2, 6 substr(str2,1, instr(str2,',',1,1)-1) as str2_p1, 7 substr(str2,instr(str2,',',1,1)+1,instr(str2,',',1,2)-instr(str2,',',1,1)-1) as str2_p2, 8 substr(str2,instr(str2,',',1,2)+1,instr(str2,',',1,3)-instr(str2,',',1,2)-1) as str2_p3, 9 substr(str2,instr(str2,',',1,3)+1) as str2_p4 10 from b ) 11 select c.str2, c.str2_p1, c.str2_p2, c.str2_p3, c.str2_p4 from c; STR2 STR2_P1 STR2_P2 STR2_P3 STR2_P4 ------------------- ------------ ------------ ------------ ------------ 1,0,100,5 1 0 100 5 2,100,500,20 2 100 500 20 3,500,1000,40 3 500 1000 40
作者: luoyoumou 发布时间: 2011-09-06
SQL code
with a as (select ';'||'1,0,100,5;2,100,500,20;3,500,1000,40;' as str1 from dual), b as (select substr(str1, instr(str1,';',1,level)+1, instr(str1,';',1,level+1)-instr(str1,';',1,level)-1) as str2 from a connect by level <=length(a.str1)-length(replace(a.str1,';','')) ) select b.str2 from b; STR2 ------------------------------------------------------------ 1,0,100,5 2,100,500,20 3,500,1000,40 -- 上一步是拆分分号(;),下一步是拆分逗号(,) (如果你每部分的逗号最多三个,即:最多四个字段,则可以这样写:) with a as (select ';'||'1,0,100,5;2,100,500,20;3,500,1000,40;' as str1 from dual), b as (select substr(str1, instr(str1,';',1,level)+1, instr(str1,';',1,level+1)-instr(str1,';',1,level)-1) as str2 from a connect by level <=length(a.str1)-length(replace(a.str1,';','')) ), c as (select str2, substr(str2,1, instr(str2,',',1,1)-1) as str2_p1, substr(str2,instr(str2,',',1,1)+1,instr(str2,',',1,2)-instr(str2,',',1,1)-1) as str2_p2, substr(str2,instr(str2,',',1,2)+1,instr(str2,',',1,3)-instr(str2,',',1,2)-1) as str2_p3, substr(str2,instr(str2,',',1,3)+1) as str2_p4 from b ) select c.str2, c.str2_p1, c.str2_p2, c.str2_p3, c.str2_p4 from c;
作者: luoyoumou 发布时间: 2011-09-06
观望罗老湿。
作者: xl_smlie 发布时间: 2011-09-06
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28