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

在Vertica中使用CROSS JOIN与string_split实现字符串拆分关联

Vertica中拆分字符串实现行转列的解决方案

在Vertica中没有string_split函数,你需要使用SPLIT_TO_TABLE来实现字符串拆分并和原表关联的需求,这是Vertica专门用于将字符串拆分成多行的内置函数。

假设你的表名为user_codes(注意避免使用table这类SQL关键字作为表名),正确的SQL语句如下:

SELECT 
  uc.name, 
  t.value AS code
FROM user_codes uc
CROSS JOIN SPLIT_TO_TABLE(uc.codes, ',') AS t;

代码说明

  • SPLIT_TO_TABLE(uc.codes, ','):将codes列按逗号分隔,把每个拆分后的字符串作为单独的行返回,返回结果中默认用value字段存储拆分后的单个值。
  • 用别名t指代拆分后的结果集,通过CROSS JOIN将原表的每一行和拆分后的多行进行关联,最终得到你期望的行转列效果。

执行上述语句后,就能得到如下结果:

namecode
Luis1
Luis2
Luis3
Maria4
Maria5
Maria6

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 21:20:40