You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PostgreSQL中如何将字符串拆分为单个字符的text[]数组

在PostgreSQL中将字符串拆分为单个字符的数组

要实现将text类型字符串拆分为每个字符作为元素的text[]数组,你可以用以下几种方法:

方法1:使用正则拆分函数regexp_split_to_array

这是最简洁的方式,直接通过正则表达式将字符串按每个字符拆分:

SELECT some_string,
       regexp_split_to_array(some_string, '') AS some_array
FROM table_name;

例如输入'Hello world',会返回数组['H','e','l','l','o',' ','w','o','r','l','d']。

方法2:通过string_to_array与聚合函数实现

如果不想依赖正则,可以先将字符串拆分为单个字符的行,再聚合为数组:

SELECT some_string,
       array_agg(char_element) AS some_array
FROM table_name,
     unnest(string_to_array(some_string, NULL)) AS char_element
GROUP BY some_string;

关于你遇到的错误

直接用CAST(some_string AS text[])失败的原因是:PostgreSQL的数组字面量要求必须用大括号{}包裹元素(比如'{a,b,c}'),而普通字符串不符合这个格式,因此会抛出malformed array literal错误。

内容的提问来源于stack exchange,提问作者Lauro235

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 18:37:42