String
PostgreSQL
SPLIT_PART
Memecah string berdasarkan delimiter dan mengembalikan bagian pada posisi tertentu. Posisi dimulai dari 1. Mengembalikan string kosong jika posisi tidak ada.
Tipe hasil:
textSyntax
SQL
SPLIT_PART(string, delimiter, position)Parameter
stringtextwajib
String yang akan dipecah
delimitertextwajib
String pemisah
positionintegerwajib
Posisi bagian yang diambil (mulai dari 1)
Contoh Penggunaan
Split Email Domain
SQL
1 SELECT 2 email, 3 SPLIT_PART(email, @, 1) AS username, 4 SPLIT_PART(email, @, 2) AS domain 5 FROM users;
Memisahkan username dan domain dari email.
Hasil
| username | domain | |
|---|---|---|
| john@gmail.com | john | gmail.com |
| jane@company.co.id | jane | company.co.id |
Parse Path
SQL
1 SELECT 2 file_path, 3 SPLIT_PART(file_path, /, 1) AS root, 4 SPLIT_PART(file_path, /, -1) AS filename 5 FROM files;
Mengambil root dan filename dari path. Posisi negatif dari belakang.
Hasil
| file_path | root | filename |
|---|---|---|
| /home/user/doc.txt | home | doc.txt |
Parse CSV Value
SQL
1 SELECT 2 SPLIT_PART(csv_data, ,, 1) AS col1, 3 SPLIT_PART(csv_data, ,, 2) AS col2, 4 SPLIT_PART(csv_data, ,, 3) AS col3 5 FROM raw_data;
Parsing data CSV menjadi kolom terpisah.