SQL-如何求和数组元素?

问题描述 投票:0回答:1

我正在将SQL与pyspark和hive一起使用,而我对这一切都是新手。我有一个配置单元表,其列类型为字符串,例如:

id | values
1  | '2;4;4'
2  |  '5;1'
3  |  '8;0;4'

我想创建一个查询来获得这个:

id | values | sum
1  | '2.2;4;4'  | 10.2
2  |  '5;1.2' |  6.2
3  |  '8;0;4' | 12

通过使用split(values,';'),我可以获得['2.2','4','4']之类的数组,但是我仍然需要将它们转换为十进制数字并求和。有没有太复杂的方法可以做到这一点?

非常感谢您!并祝大家编码愉快:)

sql hive pyspark-sql
1个回答
-1
投票

写一个完成任务的stored procedure

CREATE FUNCTION SPLIT_AND_SUM ( s VARCHAR(1024) ) RETURNS INT
BEGIN
   ...
END
© www.soinside.com 2019 - 2024. All rights reserved.