将值从一列拆分为多列

时间:2014-05-19 11:38:55

标签: sql oracle11g

我有以下查询

SELECT mobile_no, customer_no, processing_date,
LISTAGG(maak, '-') WITHIN GROUP (ORDER BY maak)

输出例如

Mobile No |User    | Date      | Maak
04343243  |1000978 | 31-JAN-14 | Cross net(mins)-4.271-66.1-LandLine(mins)-2.029-200.467

如何在名为Tariff,Amount和Usage的不同列中基于' - '拆分Maak列中的值。所以在这种情况下所需的输出将是

Mobile No | User    | Date      | Tariff          | Amount | Usage | Tariff         | Amount | Usage
04343243  | 1000978 | 31-JAN-14 | Cross net(mins) | 4.271  | 66.1  | LandLine(mins) | 2.029  | 200.467

此外,我正在寻找一个标准代码,该代码独立于行中的“ - ”数,可用于任何数量的“ - ”。

0 个答案:

没有答案