我有一個查詢如下。 Select split(Salary, '\|') as salaryEmp from tableA
它工作正常,並給我一個數組字符串爲["1089","1078"]
。HIVE查詢數組總和
我想要添加此數組字符串的值。我無法將其轉換爲整數並對它們進行求和。可以爲此提出一個合適的方法。
我有一個查詢如下。 Select split(Salary, '\|') as salaryEmp from tableA
它工作正常,並給我一個數組字符串爲["1089","1078"]
。HIVE查詢數組總和
我想要添加此數組字符串的值。我無法將其轉換爲整數並對它們進行求和。可以爲此提出一個合適的方法。
使用explode()
+ lateral view
:
select sum(cast(salary as int)) sum_salry from
(
select split('1089|1078', '\\|') SalaryArray
) s lateral view explode (SalaryArray) a as Salary;
OK
2167
方式太複雜了......可以用單個'SELECT'完成 –
@Dudu Markovitz謝謝,簡體 – leftjoin
select sum(e.col) as sum_Salary
from salaryEmp lateral view explode (split(Salary,'\\|')) e
+------------+
| sum_salary |
+------------+
| 2167 |
+------------+
你是怎麼到工資(?!)是作爲一個分隔字符串的情況嗎? –
''\ |''是錯的,應該是''\\ |'' –