2016-09-16 54 views
1

下面是數據:創建行的字符從列數據

Name 
------ 
Stack 
Overflow 

因此,有兩排第一行包含堆棧和第二行包含溢出。

Output 
------ 
S 
t 
a 
c 
k 
o 
v 
e 
..... 

這是一個例子。源可以包含多行。輸出要求每行應分解成字符數,每個字符應該在一個新的行

我試着用連接寫SQL,但我沒有得到適當的結果。

+1

嘗試搜索字符串分割,你會發現許多很好的答案。此外,張貼您的代碼以獲得關於它的幫助 – Aleksej

回答

1

你可以嘗試以下方法:

with test(id, text) as (
    select 1, 'stack' from dual union all 
    select 2, 'overflow' from dual 
) 
select character 
from (
     select distinct id, substr(text, level, 1) as character, level 
     from test 
     connect by level <= length(text) 
     order by id, level 
    ) 
+0

太棒了!我把它寫在我的個人日記上:) – UltraCommit