Sql 在配置单元中是否有更简单的方法将不同的JSON键合并为一个?

Sql 在配置单元中是否有更简单的方法将不同的JSON键合并为一个?,sql,hadoop,hive,hiveql,Sql,Hadoop,Hive,Hiveql,我正在尝试使用配置单元解析json字符串,我注意到有些值有两个不同的键,例如: get_json_object(json_string, '$.user_name') get_json_object(json_string, '$.User_Name') 有没有办法检查一个键或另一个键是否存在,然后将该值插入到解析表中 我当前的脚本选择这两个值并插入到表中,然后插入另一个脚本,该脚本检查键的值是否为null,并执行case-when语句。我想出了以下方法: Select CASE WH

我正在尝试使用配置单元解析json字符串,我注意到有些值有两个不同的键,例如:

get_json_object(json_string, '$.user_name')
get_json_object(json_string, '$.User_Name')
有没有办法检查一个键或另一个键是否存在,然后将该值插入到解析表中

我当前的脚本选择这两个值并插入到表中,然后插入另一个脚本,该脚本检查键的值是否为null,并执行case-when语句。

我想出了以下方法:

Select 
   CASE WHEN get_json_object(json_string, '$.user_name') is not null THEN get_json_object(json_string, '$.user_name')
   ELSE get_json_object(json_string, '$.User_Name')
   END AS username
FROM tbl_something;
我想到了这个:

Select 
   CASE WHEN get_json_object(json_string, '$.user_name') is not null THEN get_json_object(json_string, '$.user_name')
   ELSE get_json_object(json_string, '$.User_Name')
   END AS username
FROM tbl_something;