PostgreSQL(kingbaseES) 中,可以使用 unnest 函数将一个包含多个值的字符串分割成多行

发布时间 2023-10-30 15:46:23作者: hushzhang

在 PostgreSQL 中,您可以使用 unnest 函数将一个包含多个值的字符串分割成多行。 unnest 函数将一个数组(或者像我们的情况下是由 STRING_TO_ARRAY 函数生成的数组)展开为多行数据。

假设您有一个表 my_table,其中包含一个名为 my_column 的字符串列,其内容如下:

my_column
--------------
apple,orange,banana

现在,我们将使用 STRING_TO_ARRAY 函数将 my_column 中的字符串分割成数组,并使用 unnest 函数将数组展开为多行数据。

-- 使用 STRING_TO_ARRAY 函数将字符串分割成数组,并将结果展开为多行数据
SELECT unnest(STRING_TO_ARRAY(my_column, ',')) AS split_value
FROM my_table;

运行以上代码后,将得到如下结果:

split_value
------------
apple
orange
banana

现在,您已经成功将字符串分割成多行数据,每行包含一个值。可以在此查询的基础上继续进行其他的数据处理或者将结果插入到新表中。

请注意,在使用 unnest 函数时,需要确保您的表中包含至少一个数组类型的列,或者您可以使用其他方式创建一个包含数组的临时表。在上面的示例中,我们先使用了 STRING_TO_ARRAY 函数将字符串分割成数组,然后使用 unnest 函数将数组展开为多行数据。
————————————————
版权声明:本文为CSDN博主「men叔」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m18636982570/article/details/132102262