首页 > 解决方案 > 将一列拆分或 Substr 为多列

问题描述

我有一张桌子 poll,里面有 600 行poll。类型是CLOB。某些行在列中包含 12000 或 15000 个字符data。当它包含 12200 个字符时,我需要像这样制作多列:

data1        data2        data3        data4
-----------  -----------  -----------  -----------
first 4000   second 4000  third 4000   last 200

我怎样才能做到这一点?

标签: sqlstringoracleplsqlclob

解决方案


您可以使用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

推荐阅读