小编Ann*_*ret的帖子

Postgres 10 横向取消嵌套缺少空值

我有一个 Postgres 表,其中文本列的内容用“|”分隔。

ID | ... | my_column
-----------------------
1  | ... | text|concatenated|as|such
2  | ... | NULL
3  | ... | NULL
Run Code Online (Sandbox Code Playgroud)

我尝试取消嵌套(string_to_array())此列以分隔行,效果很好,除了我的 NULL 值(> 90%的所有条目)被排除在外。我尝试了几种方法:

 SELECT * from "my_table", lateral unnest(CASE WHEN "this_column" is NULL
 THEN NULL else string_to_array("this_column", '|') END);
Run Code Online (Sandbox Code Playgroud)

或者

如此处建议的:PostgreSQL 用空数组取消嵌套

我得到什么:

ID | ... | my_column
-----------------------
1  | ... | text
1  | ... | concatenated
1  | ... | as
1  | ... | such
Run Code Online (Sandbox Code Playgroud)

但这就是我需要的:

ID | ... | …
Run Code Online (Sandbox Code Playgroud)

postgresql null lateral

2
推荐指数
1
解决办法
1649
查看次数

标签 统计

lateral ×1

null ×1

postgresql ×1