sql - 将一列拆分或 Substr 为多列
问题描述
我有一张桌子 poll
,里面有 600 行poll
。类型是CLOB
。某些行在列中包含 12000 或 15000 个字符data
。当它包含 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
推荐阅读
- python - Python Pandas 在关键字/句子上合并
- python - 压倒一切的依赖提供者是否被认为是不好的做法?
- android - Android recyclerview - 从第二个适配器调用方法/函数(Kotlin)
- java - 获取@RestControllerAdvice 中带注释的@Async 方法中引发的异常
- pandas - 为什么在 dataframe.iloc() 中使用 ':' 会给我不同大小的值?
- android - 如何从 Cloud Firestore 中的数组中获取一个字符串?
- sql-server - 在规范化数据时获取 DISTINCT 公司信息
- javascript - 单击事件侦听器发生在加载而不是单击时
- php - 如何使用 php 和 volley android 进行间接文件下载
- apache - 如何在 WOFF2 的 HTTP 标头中指定页面使用的字符集?