sql - 我怎样才能把一根绳子分成不同的部分,然后把每一块分成一层?
问题描述
使用 SQL ORACLE:
我需要将一系列字符串分成单独的部分,并且每个后续部分都需要低于它之前的部分,即垂直列出,每行一个。我想在 '^' 符号处分隔字符串。
例如,字符串是 'RT12^RT45^LT44^TR55'
结果需要是:
RT12
RT45
LT44
TR55
解决方案
SELECT
REGEXP_SUBSTR(TRIM('^' FROM 'RT12^RT45^LT44^TR55'), '[^\^]+', 1, LEVEL) AS res
FROM
DUAL
CONNECT BY
LEVEL <= REGEXP_COUNT(TRIM('^' FROM 'RT12^RT45^LT44^TR55'), '\^')+1
推荐阅读
- database - 我们如何在 db2 中连接 sqltrace.activity_trace_evmon 和 sqltrace.activitystmt_trace_evmon 表
- php - 使用 DOMdocument 解析和抓取 URL
- elasticsearch - 使用连接类型 Elasticsearch 的父/用户关系
- spring-boot - Camel - Spring Boot Security - REST - 发送错误凭据时出现 404
- android - 基于 liveData 事件成功实现 Worker
- jquery - XEP 可以在线打印一张宽表而不切断它吗?
- python - 如何在 Jupyter Notebook 中可视化决策树?
- android - AlarmManager 不适用于服务?
- python - 获取两个excel文件之间的差异
- apache-spark - 将列添加到 df1 中不存在但存在于 df2 中的数据框