假设 表table_name 有三个字段 company_id, distinct_id, labels(json)
要往labels里直接加 json键值对:
insert overwrite table table_name
select
a.company_id,
cast(current_timestamp()as string) as distinct_id,
concat(concat_ws(",",
concat("{",substr(a.new_json,2,length(a.new_json)-2)),
if(old_json = '' ,null,old_json)
),'}') as labels
from (
select
a.company_id,
xxb.to_json(named_struct(
'is_canceled','正常')) as new_json, --新增json 键值对
substr(a.labels,2,length(a.labels)-2) as old_json --旧有键值对
from table_name a
) a ;
注:如果没有to_json的udf函数,new_json 直接用{'is_canceled':'正常'} 就行
10-27
2万+
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
03-16
1951
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
11-22
8933
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交