postgresqlvarchar字段regexp_replace正则替换操作
1.替换⽬标
1).contact字段类型 varchar。
2).去掉字段中连续的两个,每个等号后⾯数字不同,
effective_caller_id_name=0510********,effective_caller_id_number=0510********
2.查询原字段内容
select contact
from pbx_agents
where contact ~ 'effective_caller_id_name=' limit 2
"{sip_append_audio_sdp=a=fmtp:18 annexb=no,call_timeout=60,effective_caller_id_name=0510********,effective_caller_id_number=0510********,cti_account=9,cti_agent_id=1102441276,cti_account_sid=5be394c3f8754bd89b9618937c687068,absolute_cod "{sip_append_audio_sdp=a=fmtp:18 annexb=no,call_timeout=60,effective_caller_id_name=0510*******
*,effective_caller_id_number=0510********,cti_account=9,cti_agent_id=1103211003,cti_account_sid=4f3fae0e71b74bdaa3824e6ec7771815,absolute_cod 3.查询语句验证替换
select regexp_replace(contact, '(effective_caller_id_name=\d+,)+?','','g')
from pbx_agents
where contact ~ 'effective_caller_id_name='
"{sip_append_audio_sdp=a=fmtp:18 annexb=no,call_timeout=60,effective_caller_id_number=0510********,cti_account=9,cti_agent_id=1102441276,cti_account_sid=5be394c3f8754bd89b9618937c687068,absolute_codec_string=\'OPUS,G729\'}sofia/gateway/a "{sip_append_audio_sdp=a=fmtp:18 annexb=no,call_timeout=60,effective_caller_id_number=0510********,cti_account=9,cti_agent_id=1103211003,cti_account_sid=4f3fae0e71b74bdaa3824e6ec7771815,absolute_codec_string=\'OPUS,G729\'}sofia/gateway/a 4.执⾏替换操作
update pbx_agents set contact = regexp_replace(contact, '(effective_caller_id_name=\d+,)+?','','g')js 正则替换
where contact ~ 'effective_caller_id_name='
Query returned successfully: 3929 rows affected, 505 msec execution time.
5.查询验证替换
select contact
from pbx_agents
"{sip_append_audio_sdp=a=fmtp:18 annexb=no,call_timeout=60,cti_account=9,cti_agent_id=1100891004,cti_account_sid=23869df09f2f47f0ae80a7cbc45e5185,absolute_codec_string=\'OPUS,G729\'}sofia/gateway/agentProxy/1100891004"
"{sip_append_audio_sdp=a=fmtp:18 annexb=no,call_timeout=60,cti_account=9,cti_agent_id=1102081069,cti_account_sid=9f2c1574fcb5497994cb9b892aee0d1c,absolute_codec_string=\'OPUS,G729\'}sofia/gateway/agentProxy/1102081069"
补充:PostgreSql  regexp_replace 替换括号⾥⾯所有字符串
我就废话不多说了,⼤家还是直接看代码吧~
// PG 数据替换数据中的例如(1222-2)中的所有值
select regexp_replace('在激励(1222-2)','(\(.*\))','','')
以上为个⼈经验,希望能给⼤家⼀个参考,也希望⼤家多多⽀持。如有错误或未考虑完全的地⽅,望
不吝赐教。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。