我有一列值,例如:
[{"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( 字符串 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)