阿里云AnalyticDB拆分数组并转化为多行,应该怎么写SQL

这个库应该怎么实现,比如某个字符串为“bbbbbb\ccccc”,怎么先把它拆成数组,

然后再平展开来。最终效果:

bbbbbb

ccccc

unnest()、string_to_array()函数这两个函数看着用不了。

SQL 冥河 发布于 2025-3-24 16:40 (编辑于 2025-3-24 16:44)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
CD20160914Lv8专家互助
发布于2025-3-24 16:45(编辑于 2025-3-24 16:47)

直接用split,而且是转义符号,要多加一个\

SELECT    SPLIT(column_name, '\\') AS split_result FROM    your_table;

SELECT    REGEXP_SPLIT(column_name, '\\') AS split_result FROM    your_table;

  • 冥河 冥河(提问者) SPLIT(saas_class_id, '\n')
    ,REGEXP_SPLIT(saas_class_id, '\n')
    这种写法是可以的,但是在创建SQL数据集,使用unnest函数转成多行单列形式时,报这个错unnest not registered。
    2025-03-24 17:08 
  • CD20160914 CD20160914 回复 冥河(提问者) 你要看你的数据库用没有这个函数呀,不要乱用呀。你搜索一下这个数据库有没有这个函数,如果没有,就看其它的类似函数是什么,不然就在BI中列转行
    2025-03-24 17:09 
最佳回答
0
华莉星宸Lv7资深互助
发布于2025-3-24 16:45

试试这个方法看看

SELECT 

  id,

  split_part(tags_str, ',', n) AS tag

FROM 

  your_table,

  generate_series(1, regexp_count(tags_str, ',') + 1) AS n;

  • 3关注人数
  • 33浏览人数
  • 最后回答于:2025-3-24 16:47
    请选择关闭问题的原因
    确定 取消
    返回顶部