我有一条记录被转换成这样的文字:
("{""ACC_CODE"":""0/000"",""ACC_DECIMAL"":2}"})
我想删除(
和)
,以便将文本转换为json。
我该怎么做?
编辑:我不想使用修剪功能,因为有(
&原始文本中的)
个字符。
我只想删除first
& last
字符。
答案 0 :(得分:6)
你可以这样做:
select substr(col, 2, length(col) - 2)
答案 1 :(得分:3)
t=# select rtrim(ltrim('({()})','('),')');
rtrim
-------
{()}
(1 row)
ltrim和rtim不要触摸内部的括号,比如修剪itsel:
t=# select trim('({()})','()');
btrim
-------
{()}
(1 row)
答案 2 :(得分:0)
函数regexp_replace()对我有用。
例如删除最后4个字符:
select
regexp_replace('300PRIZE28NOV20183333\%%3BS\.com', '....$', '') campaign_name;
------------------------------
300PRIZE28NOV20183333\%%3BS\
(1 row)
-更一般地说,删除最后8个字符。
select
regexp_replace('300PRIZE28NOV20183333\%%3BS\.com', '.{8}$', '') campaign_name;
campaign_name
--------------------------
300PRIZE28NOV20183333\%%
(1 row)