【问题标题】:Splitting or Substr one column into multiple columns将一列拆分或 Substr 为多列
【发布时间】:2020-09-28 17:13:46
【问题描述】:

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

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

我该怎么做?

【问题讨论】:

  • 列的数据类型是什么?
  • 类型是 Clob 先生
  • 您希望在新列中包含什么?只是数字,还是 CLOB 的实际内容,由 4000 个字符块组成?
  • CLOB data1(first 4000) data2(second 4000)的实际内容....

标签: sql string oracle plsql clob


【解决方案1】:

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

【讨论】:

  • 长度和子串也支持clob
猜你喜欢
  • 2013-01-23
  • 2014-12-16
  • 2019-05-10
  • 2017-10-03
  • 2016-11-17
相关资源
最近更新 更多