次のような値の列があります。
[{"run_status":1,"daily_budget":"2000","campaign_id":"60952315"}].
最初と最後のブラケットを削除するためのクエリは何ですか?
{"run_status":1,"daily_budget":"2000","campaign_id":"60952315"}
あなたの答えがSQLのバージョンに依存している場合、私はHiveを使用しています。
データベースでの文字列操作は、バージョンによって異なることがよくあります。Hiveでは、次のことが必要です。
select substr(<val>, 2, length(<val>) - 2)
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
これは手っ取り早い方法ですが、別の方法として、値の配列を作成して置き換え、それらを反復処理することもできます。
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)