flinkSQL 有没有内置的类似 group_concat的函数?

flinkSQL 有没有内置的类似 group_concat的函数?

展开
收起
我是三好学生 2023-04-19 16:56:59 1191 分享 版权
3 条回答
写回答
取消 提交回答
  • 公众号:网络技术联盟站,InfoQ签约作者,阿里云社区签约作者,华为云 云享专家,BOSS直聘 创作王者,腾讯课堂创作领航员,博客+论坛:https://www.wljslmz.cn,工程师导航:https://www.wljslmz.com

    是的,阿里云实时计算 Flink 版的 SQL 引擎内置了字符串聚合函数 concat_ws,可以将一个分隔符和多个字符串进行组合,组成一个新的字符串。

    concat_ws 函数的语法如下:

    concat_ws(separator, str1, str2, ...)
    

    其中 separator 表示分隔符,str1str2 等表示需要连接的字符串。例如:

    SELECT concat_ws(',', name, age, address) FROM myTable;
    

    这个查询语句将查询结果里每条记录的 nameageaddress 字段中的值使用逗号 , 进行组合,并返回一个新的字符串。

    2023-04-30 22:48:06
    赞同 展开评论
  • 从事java行业9年至今,热爱技术,热爱以博文记录日常工作,csdn博主,座右铭是:让技术不再枯燥,让每一位技术人爱上技术

    Flink有一个类似的函数CONCAT_WS,Flink可以使用指定的分隔符separator连接多个字符串,详情请参考文档。 如果separator为NULL,则结果为NULL。如果某个字符串为 NULL,则跳过它;但是不会跳过空字符串。 例如 CONCAT_WS('~', 'AA','BB', '', 'CC') 会返回 AA~BB~~CC。

    2023-04-19 18:20:43
    赞同 展开评论
  • 存在即是合理

    Flink SQL内置了类似于GROUP_CONCAT的函数,称为GROUP_CONCAT。GROUP_CONCAT函数可以将多个字符串组合成一个字符串,并将它们存储在一个列表中。

    以下是一个使用GROUP_CONCAT函数的示例:

    SELECT GROUP_CONCAT(',' SEPARATOR ',') AS result FROM my_table;

    在上面的示例中,GROUP_CONCAT函数将多个字符串组合成一个字符串,并将它们存储在一个名为result的列表中。SEPARATOR参数指定了用于分隔字符串的分隔符。

    可以根据需要更改SEPARATOR参数的值,以便将字符串分隔为不同的列。

    2023-04-19 17:22:02
    赞同 展开评论

实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。

收录在圈子:
实时计算 Flink 版(Alibaba Cloud Realtime Compute for Apache Flink,Powered by Ververica)是阿里云基于 Apache Flink 构建的企业级、高性能实时大数据处理系统,由 Apache Flink 创始团队官方出品,拥有全球统一商业化品牌,完全兼容开源 Flink API,提供丰富的企业级增值功能。
还有其他疑问?
咨询AI助理