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