您现在的位置是:网站首页> 编程资料编程资料
postgresql varchar字段regexp_replace正则替换操作_PostgreSQL_
2023-05-27
384人已围观
简介 postgresql varchar字段regexp_replace正则替换操作_PostgreSQL_
1.替换目标
1).contact字段类型 varchar。
2).去掉字段中连续的两个,每个等号后面数字不同,
effective_caller_id_name=051066824513,effective_caller_id_number=051066824513
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=051066824513,effective_caller_id_number=051066824513,cti_account=9,cti_agent_id=1102441276,cti_account_sid=5be394c3f8754bd89b9618937c687068,absolute_codec_string=\'OPUS,G729 (...)" "{sip_append_audio_sdp=a=fmtp:18 annexb=no,call_timeout=60,effective_caller_id_name=051066824824,effective_caller_id_number=051066824824,cti_account=9,cti_agent_id=1103211003,cti_account_sid=4f3fae0e71b74bdaa3824e6ec7771815,absolute_codec_string=\'OPUS,G729 (...)" 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=051066824513,cti_account=9,cti_agent_id=1102441276,cti_account_sid=5be394c3f8754bd89b9618937c687068,absolute_codec_string=\'OPUS,G729\'}sofia/gateway/agentProxy/1102441276" "{sip_append_audio_sdp=a=fmtp:18 annexb=no,call_timeout=60,effective_caller_id_number=051066824824,cti_account=9,cti_agent_id=1103211003,cti_account_sid=4f3fae0e71b74bdaa3824e6ec7771815,absolute_codec_string=\'OPUS,G729\'}sofia/gateway/agentProxy/1103211003" 4.执行替换操作
update pbx_agents set contact = regexp_replace(contact, '(effective_caller_id_name=\d+,)+?','','g') 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)','(\(.*\))','','')以上为个人经验,希望能给大家一个参考,也希望大家多多支持。如有错误或未考虑完全的地方,望不吝赐教。
您可能感兴趣的文章:
相关内容
- 关于PostgreSQL错误日志与慢查询日志收集_PostgreSQL_
- PostgreSQL 正则表达式替换-使用变量方式_PostgreSQL_
- PostgreSQL11修改wal-segsize的操作_PostgreSQL_
- 解决postgresql表中的字段名称包含特殊符号的问题_PostgreSQL_
- PostgreSQL 实现查询表字段信息SQL脚本_PostgreSQL_
- PostgreSQL 定义返回表函数的操作_PostgreSQL_
- postgresql 如何关闭自动提交_PostgreSQL_
- Postgresql 解决pg掉电后无法重启的问题_PostgreSQL_
- PostgreSQL 恢复误删数据的操作_PostgreSQL_
- PostgreSQL 日志文件的所在位置_PostgreSQL_
