首页 > 解决方案 > 我怎样才能把一根绳子分成不同的部分,然后把每一块分成一层?

问题描述

使用 SQL ORACLE:

我需要将一系列字符串分成单独的部分,并且每个后续部分都需要低于它之前的部分,即垂直列出,每行一个。我想在 '^' 符号处分隔字符串。

例如,字符串是 'RT12^RT45^LT44^TR55'

结果需要是:

RT12
RT45
LT44
TR55

标签: sqloracleplsql

解决方案


 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

推荐阅读