Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Memisahkan Lajur Teks kepada Berbilang Baris dalam PostgreSQL?
Dalam Postgres, keperluan mungkin timbul untuk mengubah jadual dengan satu lajur teks jenis kepada jadual dengan berbilang baris, di mana setiap baris mewakili token daripada lajur teks.
Pertimbangkan jadual sumber berikut:
subject | flag |
---|---|
this is a test | 2 |
Output yang dikehendaki ialah jadual dengan dua lajur:
token | flag |
---|---|
this | 2 |
is | 2 |
a | 2 |
test | 2 |
Untuk Postgres 14 dan ke atas, LATERAL join boleh digunakan dengan fungsi string_to_table() untuk mencapai transformasi ini. Bentuk pertanyaan minimum ialah:
SELECT token, flag FROM tbl, string_to_table(subject, ' ') token WHERE flag = 2;
Untuk Postgres 13 dan lebih awal, unnest(string_to_array(subject, ' ')) hendaklah digunakan dan bukannya string_to_table(subject, ' ').
Fungsi string_to_table() membahagikan lajur subjek kepada token berasingan, satu untuk setiap baris, dengan nilai yang sama untuk lajur bendera. Klausa WHERE menapis hasil untuk hanya menunjukkan token yang dibenderakan dengan nilai 2.
Penyelesaian ini menyediakan cara yang ringkas dan cekap untuk membahagikan lajur teks kepada baris individu dalam Postgres.
Atas ialah kandungan terperinci Bagaimana untuk Memisahkan Lajur Teks kepada Berbilang Baris dalam PostgreSQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!