字符串函数类似于配置单元中的STUFF

时间:2016-11-16 03:20:14

标签: hive hiveql

我们如何在Hive中实现SQL Function STUFF?

示例:

SELECT STUFF('abcdef', 2, 3, 'ijklmn');  

Result is:
---------   
aijklmnef   

(1 row(s) affected)  

可以使用的一个逻辑是使用子字符串和concat:

 SELECT CONCAT(SUBSTR('abcdef',0,1),'ijklmn',SUBSTR('abcdef',5,LENGTH('abcdef')));
 ----------

 +------------+--+
 | aijklmnef  |
 +------------+--+
 1 row selected (0.322 seconds)

在hive中有没有其他简单的逻辑来实现STUFF?

1 个答案:

答案 0 :(得分:1)

从您的问题开始,我了解到您期望SQL Server中STUFF具有类似的功能。

  

T-SQL STUFF命令用于将结果连接在一起。

如果您输入的是以下类型:

输入:

enter image description here

然后,STUFF将在串联后为您提供输出:

输出:

enter image description here

下面是类似HIVE中的Stuff的查询

select id
    ,name
    ,dob
    ,concat_ws(',',collect_list(location)) as location
from test_analysis
group by id
    ,name
    ,dob