3

次のような値の列があります。

 [{"run_status":1,"daily_budget":"2000","campaign_id":"60952315"}].

最初と最後のブラケットを削除するためのクエリは何ですか?

 {"run_status":1,"daily_budget":"2000","campaign_id":"60952315"}    

あなたの答えがSQLのバージョンに依存している場合、私はHiveを使用しています。

4

3 に答える 3

11

データベースでの文字列操作は、バージョンによって異なることがよくあります。Hiveでは、次のことが必要です。

select substr(<val>, 2, length(<val>) - 2)
于 2012-07-18T21:07:58.953 に答える
0

SUBSTRを使用できます。

SUBSTR(string source_str、int start_position [、int length])、SUBSTRING(string source_str、int start_position [、int length])

http://www.folkstalk.com/2011/11/string-functions-in-hive.html

于 2012-07-18T21:06:42.103 に答える
0

これは手っ取り早い方法ですが、別の方法として、値の配列を作成して置き換え、それらを反復処理することもできます。

    declare @origString varchar(150)
        ,@newString varchar(150)
        , @replace varchar(10)
        , @replace2 varchar(10)
        , @replaceValue varchar(10)

    set @replaceValue =''
    set @replace = '['
    set @replace2 =']'
    set @origString = '[{"run_status":1,"daily_budget":"2000","campaign_id":"60952315"}]'

    select REPLACE(REPLACE(@origString, @replace, @replaceValue), @replace2, @replaceValue)
于 2012-07-18T21:21:27.030 に答える