Pisah data lajur yang dipisahkan koma kepada berbilang lajur
Dalam banyak senario data, data mungkin disimpan dalam format bercantum dan dipisahkan oleh pembatas seperti koma. Untuk mengekstrak satu nilai daripada lajur ini, fungsi split_part()
PostgreSQL boleh digunakan.
Pertimbangkan data berikut:
<code>Column ------- a,b,c,d</code>
Untuk memisahkan data yang dipisahkan koma ini kepada lajur yang berasingan, anda boleh menggunakan fungsi split_part()
. Begini caranya:
<code class="language-sql">SELECT split_part(col, ',', 1) AS col1, split_part(col, ',', 2) AS col2, split_part(col, ',', 3) AS col3, split_part(col, ',', 4) AS col4 FROM tbl;</code>
Pertanyaan ini akan mencipta empat lajur baharu (col
, col1
, col2
dan col3
) dengan membahagikan data dalam lajur col4
berdasarkan pembatas koma. Outputnya ialah:
<code>Column1 Column2 Column3 Column4 ------- ------- ------- ------- a b c d</code>
split_part()
menerima tiga parameter: lajur untuk dipecah (col
), pemisah untuk digunakan (,
) dan kedudukan nilai untuk diekstrak. Dalam contoh ini, kami mengekstrak empat nilai pertama (sehingga empat) daripada lajur col
.
Lajur yang melebihi bilangan item data dalam lajur asal akan diisi dengan rentetan kosong (''). Menggunakan teknik ini, anda boleh dengan mudah memisahkan data yang dipisahkan koma kepada berbilang lajur untuk analisis atau manipulasi selanjutnya.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Membahagikan Data Dipisahkan Koma dalam Lajur Postgres kepada Berbilang Lajur?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!