Sql 将一列拆分或替换为多列
我有一个表Sql 将一列拆分或替换为多列,sql,string,oracle,plsql,clob,Sql,String,Oracle,Plsql,Clob,我有一个表poll,在poll中有600行。类型为CLOB。某些行在数据列中包含12000或15000个字符。当它包含12200个字符时,我需要使多列如下: data1 data2 data3 data4 ----------- ----------- ----------- ----------- first 4000 second 4000 third 4000 last 200 我如何才能做到这一点?您可以使用: 列的数据类型是什
poll
,在poll
中有600行。类型为CLOB
。某些行在数据
列中包含12000或15000个字符。当它包含12200个字符时,我需要使多列如下:
data1 data2 data3 data4
----------- ----------- ----------- -----------
first 4000 second 4000 third 4000 last 200
我如何才能做到这一点?您可以使用:
列的数据类型是什么?类型是Clob SIRB在新列中需要什么?只有数字,或CLOB的实际内容,由4000个字符组成?CLOB数据的实际内容1(第一个4000)数据2(第二个4000)…长度和substr也支持CLOB
select
dbms_lob.substr(data, 4000, 1) data1,
dbms_lob.substr(data, 4000, 4001) data2,
dbms_lob.substr(data, 4000, 8001) data3,
dbms_lob.substr(data, 4000, 12001) data4
from mytable