Sql进阶技巧:如何进行多容器的数据扩展

152 篇文章 24 订阅 ¥39.90 ¥99.00
本文介绍了如何使用SQL将多列数据转换为多行输出,结合explode()函数处理字符串拼接列。通过示例展示了针对数据表t,将a、b、c列的内容拆分成多行,并添加了type_b和type_c前缀。具体步骤包括创建临时表,利用UNION ALL和explode()对b和c列的字符串进行拆分,最终得到预期的输出结果。此方法适用于处理需要将多列字符串转为多行的数据操作。
摘要由CSDN通过智能技术生成

目录

0 需求

1 问题分析

方法1:UNION ALL + EXPLODE()实现

方法2:利用 array_contains()函数+explode

2 小结


0 需求

表名:t
表字段及内容:
a       b      c
001 A/B    1/3/5
002 B/C/D 4/5
问题:转多行
输出结果如下所示:
a         d       e
001 type_b A
001 type_b B
001 type_c 1
001 type_c 3
001 type_c 5
002 type_b B
002 type_b C
002 type_b D
002 type_c 4
002 type_c 5

1 问题分析

(1)数据准备

create table t as
select '001' as a,'A/B' as b,'1/3/5' as c
UNION ALL
select '002' as a,'B/C/D' as b,'4/5' as c

(2)问题分析</

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值