如何使用 sql 将我的名字更改为列

How to change my name into columns using sql

将名称拆分成列的最佳查询是什么?

即。如果我的名字在一栏中是 VELOCITY。

如何拆分为

V
E
L
O
C
I
T
Y

如果只有一行,那么:

SELECT SUBSTR('VELOCITY', LEVEL, 1) AS ch
FROM   DUAL
CONNECT BY LEVEL <= LENGTH('VELOCITY');

输出:

CH
V
E
L
O
C
I
T
Y

如果您有多个输入行,那么从 Oracle 12 开始,您可以使用 LATERAL 联接:

SELECT c.ch
FROM   table_name t
       INNER JOIN LATERAL (
         SELECT SUBSTR(t.value, LEVEL, 1) AS ch
         FROM   DUAL
         CONNECT BY LEVEL <= LENGTH(t.value)
       ) c
       ON (t.value IS NOT NULL);

db<>fiddle here