hivesql高阶函数repeat
工作中遇到的好用函数!适合生成某一重复拼接字符串~
repeat(‘str’,n)
select repeat('abc,',5)
>abc,abc,abc,abc,abc,
我的使用场景是生成和某列map类型等长的n个字符串的拼接结果。
select
concat_ws(',',map_keys(MAP)) as name,
substr(repeat('key,',size(MAP)),1,length(repeat('key,',size(MAP)))-1) as src
> name |src
> 1,2,3 |key,key,key
repeat(‘key,’,size(MAP)生成的本来是字符串’key,key,key,’
再用substr()截取前n-1位的字符,删除字符串最后一位的逗号。