想把 '123_456_789_987_654_321' 通过'_' 下划线进行拆分成 👇的结果
123
456
789
987
654
321
一、字符串拆分函数 splitByChar(分隔符,s)
将字符串以'separator'拆分成多个子串。'separator'必须为仅包含一个字符的字符串常量。
返回拆分后的子串的数组。如果分隔符出现在字符串的开头或结尾,或者如果有多个连续的分隔符,则将在对应位置填充空的子串。
select splitByChar('_', '123_456_789_987_654_321') AS src
复制
结果输出👇:
我们可以看到该字符串拆分后,组成来一个数组,后面的'_' 两下划线,就是指在多个连续的分隔符的情况下,则在对应的位置填充空的子串。
二、 arrayJoin函数
'arrayJoin'函数获取每一行并将他们展开到多行(unfold)。
此函数将数组作为参数,并将该行在结果集中复制数组元素个数。
除了应用此函数的列中的值之外,简单地复制列中的所有值;它被替换为相应的数组值。
SELECT arrayJoin(['123','456','789','987','654','321'] AS src) AS dst, src;
复制
结果👇:
有了这两个函数之后,应该对于字符串拆分有点头绪了吧,就两个函数搞定,就是那么简单粗暴。
select toInt32(arrayJoin(splitByChar('_', '123_456_789_987_654_321') AS src)) as number;
复制
文中内容在clickhouse 20.8.3.18中测试通过
文章转载自老柴杂货铺,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
2025年4月中国数据库流行度排行榜:OB高分复登顶,崖山稳驭撼十强
墨天轮编辑部
2455次阅读
2025-04-09 15:33:27
数据库国产化替代深化:DBA的机遇与挑战
代晓磊
1131次阅读
2025-04-27 16:53:22
2025年3月国产数据库中标情况一览:TDSQL大单622万、GaussDB大单581万……
通讯员
813次阅读
2025-04-10 15:35:48
2025年4月国产数据库中标情况一览:4个千万元级项目,GaussDB与OceanBase大放异彩!
通讯员
644次阅读
2025-04-30 15:24:06
数据库,没有关税却有壁垒
多明戈教你玩狼人杀
563次阅读
2025-04-11 09:38:42
天津市政府数据库框采结果公布,7家数据库产品入选!
通讯员
548次阅读
2025-04-10 12:32:35
国产数据库需要扩大场景覆盖面才能在竞争中更有优势
白鳝的洞穴
527次阅读
2025-04-14 09:40:20
最近我为什么不写评论国产数据库的文章了
白鳝的洞穴
502次阅读
2025-04-07 09:44:54
【活动】分享你的压箱底干货文档,三篇解锁进阶奖励!
墨天轮编辑部
451次阅读
2025-04-17 17:02:24
一页概览:Oracle GoldenGate
甲骨文云技术
448次阅读
2025-04-30 12:17:56