如何使用 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
将名称拆分成列的最佳查询是什么?
即。如果我的名字在一栏中是 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