Split Query PostgreSQL

Yuk bermain query lagi di SQL, kali ini saya akan membahas mengenai bagaimana memecahkan data di suatu field menjadi beberapa field. Bingung ?

Jadi saya mempunya 1 tabel namanya deklarasi, ditabel tersebut punya hanya punya 1 field yaitu no_npp.

Jenis data no_npp adalah character varying atau biasa kita sebut dengan varchar. Contoh datanya adalah 1403.0.70.00315.57.03.2016.

Lalu yang saya inginkan adalah jika kita perhatikan satu no npp cukup panjang dan dijeda dengan tanda titik. Saya ingin memecahkan nomor tersebut, eitssss bukan dengan menggunakan substring loh, tp saya ingin setiap dipisahkan dengan tanda titik langsung menjadi 1 field sendiri. Misalkan

No_npp : 1403.0.70.00315.57.03.2016
field A : 1403
field B : 70
field C : 00315
field D : 57
field E : 03
field F : 2016

Querynya adalah sebagai berikut dengan menggunakan split_part.

SELECT split_part(no_npp, ‘.’, 1) AS A, split_part(no_npp, ‘.’, 3) AS B, split_part(no_npp, ‘.’, 4) AS C, split_part(no_npp, ‘.’, 5) AS D,
split_part(no_npp, ‘.’, 7) AS E, split_part(no_npp, ‘.’, 8) AS F FROM zci_deklarasi

Hasilnya nih ya :

Semoga bermanfaat

Leave a Reply

Your email address will not be published. Required fields are marked *