> | masa     |
> | 01122005 |

> bagaiamana querynya agar datanya jadi seperti ini

> | bulan  |tahun
> | 01     |2005
> | 02     |2005
> | 03     |2005
> | 04     |2005
> | 05     |2005
> | 06     |2005
> | 07     |2005
> | 08     |2005
> | 09     |2005
> | 10     |2005
> | 11     |2005
> | 12     |2005

Saya asumsikan masnya mengerti query di bawah ini:

  SELECT
    AWAL,
    AKHIR,
    AKHIR - AWAL + 1 JUMLAH_PERIODE,
    AMOUNT,
    TAHUN
  FROM(
    SELECT
      TO_NUMBER(SUBSTR(MASA, 1, 2)) AWAL,
      TO_NUMBER(SUBSTR(MASA, 3, 2)) AKHIR,
      TO_NUMBER(SUBSTR(MASA, 5, 4)) TAHUN,
      AMOUNT
    FROM
      TRANSAKSI
    )

Query itu nanti menghasilkan record seperti ini:
Awal  Akhir JUMLAH_PERIODE   AMOUNT   TAHUN
1      12       12            60000    2005

Nah triknya seperti ini.
Masnya define dulu satu table dummy, sebut saja table DUMMY, yang isinya 
kira-kira seperti ini
DUMMY_ID
1
2
3
4
5
6
7
8
9
10
11
12

Lalu query di atas tadi itu dipakai lagi, dengan men-join dengan table dummy. 
Sehingga query lengkapnya seperti ini:

SELECT
  DUMMY_ID,
  AMOUNT / JUMLAH_PERIODE AMOUNT_TIAP_PERIODE,
  TAHUN
FROM(
  SELECT
    AWAL,
    AKHIR,
    AKHIR - AWAL + 1 JUMLAH_PERIODE,
    AMOUNT,
    TAHUN
  FROM(
    SELECT
      TO_NUMBER(SUBSTR(MASA, 1, 2)) AWAL,
      TO_NUMBER(SUBSTR(MASA, 3, 2)) AKHIR,
      TO_NUMBER(SUBSTR(MASA, 5, 4)) TAHUN,
      AMOUNT
    FROM
      TRANSAKSI
    )
  ) TRANSAKSI,
  DUMMY
WHERE
  DUMMY_ID BETWEEN AWAL AND AKHIR

Dan akan diperoleh record(s) seperti ini :
1       5000    2005
2       5000    2005
3       5000    2005
4       5000    2005
5       5000    2005
6       5000    2005
7       5000    2005
8       5000    2005
9       5000    2005
10      5000    2005
11      5000    2005
12      5000    2005

Kolom pertama adalah bulan (1 berarti Januari, 12 berati Desember)
Kolom kedua adalah value pada bulan itu dan
Kolom ketiga adalah tahun

Saya mengasumsikan beberapa hal, antara lain:
1. Format tanggal pada "masa" adalah 2 karakter awal adalah bulan awal, 2 
karakter berikutnya adalah bulan akhir dan 4 karakter sisa adalah tahun
2. Bulan awal dan bulan akhir berada di tahun yang sama

Semoga membantu

Kirim email ke