首頁 > 資料庫 > mysql教程 > 如何在 PostgreSQL 中將文字列拆分為多行?

如何在 PostgreSQL 中將文字列拆分為多行?

Mary-Kate Olsen
發布: 2025-01-06 21:37:40
原創
610 人瀏覽過

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

在Postgres 中將列拆分為行

在Postgres 中,可能需要將具有單列文字類型的表轉換為具有多行的表,其中每行代表文字列中的一個標記。

範例資料和所需資料輸出

考慮以下來源表:

登入後複製
登入後複製
subject flag
this is a test 2

所需的輸出是一個表,其中二列:

登入後複製
登入後複製
token flag
this 2
is 2
a 2
test 2

使用LATERAL Join 的解決方案

對於 Postgres 14 及更高版本,LATERAL join 可以與 string_to_table() 函數一起使用來實現此轉換。查詢的最小形式是:

SELECT token, flag
FROM tbl, string_to_table(subject, ' ') token
WHERE flag = 2;
登入後複製

對於 Postgres 13 及更早版本,應使用 unnest(string_to_array(subject, ' ')) 而不是 string_to_table(subject, ' ')。

string_to_table() 函數將主題列拆分為單獨的標記,每一行一個標記,標記具有相同的值 柱子。 WHERE 子句過濾結果,僅顯示標記為 2 的標記。

此解決方案提供了一種簡潔高效的方法,可在 Postgres 中將文字列拆分為單獨的行。

以上是如何在 PostgreSQL 中將文字列拆分為多行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板