String

SPLIT_PART

PostgreSQLPostgreSQL

Memecah string berdasarkan delimiter dan mengembalikan bagian pada posisi tertentu. Posisi dimulai dari 1. Mengembalikan string kosong jika posisi tidak ada.

Tipe hasil: text

Syntax

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
1SELECT
2 email,
3 SPLIT_PART(email, @, 1) AS username,
4 SPLIT_PART(email, @, 2) AS domain
5FROM users;

Memisahkan username dan domain dari email.

Hasil
emailusernamedomain
john@gmail.comjohngmail.com
jane@company.co.idjanecompany.co.id

Parse Path

SQL
1SELECT
2 file_path,
3 SPLIT_PART(file_path, /, 1) AS root,
4 SPLIT_PART(file_path, /, -1) AS filename
5FROM files;

Mengambil root dan filename dari path. Posisi negatif dari belakang.

Hasil
file_pathrootfilename
/home/user/doc.txthomedoc.txt

Parse CSV Value

SQL
1SELECT
2 SPLIT_PART(csv_data, ,, 1) AS col1,
3 SPLIT_PART(csv_data, ,, 2) AS col2,
4 SPLIT_PART(csv_data, ,, 3) AS col3
5FROM raw_data;

Parsing data CSV menjadi kolom terpisah.

Fungsi Equivalen di Database Lain