2017-08-24 4 views
0

私はハイブを使用してJSON文字列を解析しようとしていると私のようないくつかの値のための2つの異なるキーがあることに気づい:異なるJSONキーを1つに統合する簡単な方法はありますか?

get_json_object(json_string, '$.user_name') 
get_json_object(json_string, '$.User_Name') 

は、一つのキーまたは別のはちょうどその存在しているかどうかを確認する方法はあります値を解析テーブルに挿入しますか?

私の現在のスクリプトは、両方を選択してテーブルに挿入し、キーの値のいずれかがヌルであるかどうかをチェックし、ステートメントのcaseを実行する別のスクリプトを挿入します。

答えて

2
select coalesce 
     (
      get_json_object(json_string, '$.user_name') 
      ,get_json_object(json_string, '$.User_Name') 
     ) as username 

from tbl_something 
0

私はこの思い付いた:

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; 
関連する問題