将一列拆分或替换为多列
Splitting or Substr one column into multiple columns
我有一个 table poll
,我在 poll
中有 600 行。类型是 CLOB
。某些行在 data
列中包含 12000 或 15000 个字符。当它包含 12200 个字符时,我需要像这样制作多列:
data1 data2 data3 data4
----------- ----------- ----------- -----------
first 4000 second 4000 third 4000 last 200
我该怎么做?
您可以使用 dmbs_lob.substr()
:
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
我有一个 table poll
,我在 poll
中有 600 行。类型是 CLOB
。某些行在 data
列中包含 12000 或 15000 个字符。当它包含 12200 个字符时,我需要像这样制作多列:
data1 data2 data3 data4
----------- ----------- ----------- -----------
first 4000 second 4000 third 4000 last 200
我该怎么做?
您可以使用 dmbs_lob.substr()
:
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