Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Memisahkan Lajur Teks kepada Berbilang Baris dalam PostgreSQL?

Bagaimana untuk Memisahkan Lajur Teks kepada Berbilang Baris dalam PostgreSQL?

Mary-Kate Olsen
Lepaskan: 2025-01-06 21:37:40
asal
644 orang telah melayarinya

How to Split a Text Column into Multiple Rows in PostgreSQL?

Memisahkan Lajur kepada Baris dalam Postgres

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.

Data Sampel dan Diingini Output

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

Penyelesaian Menggunakan LATERAL Join

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;
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan