PostgreSQL全局替换字符串函数
因为特殊原因,需要将数据库里所有表的所有字段中带有某字样的数据替换成另外一个数据,当然有很多种实现方法,我就直接写了个数据库函数解决了,话不多说上代码。
create or replace function myReplace(nowChar varchar,afterChar varchar)
returns text LANGUAGE plpgsql as $$
declare
resultV text;
tablesName varchar;
columnsName varchar;
tableCursor refcursor;
columnCursor refcursor;
begin open tableCursor for execute 'select tablename from pg_tables where tablename !~ ''(^pg.*)|(^sql.*)''';loopfetch tableCursor into tablesName;if found thenopen columnCursor for execute 'select column_name from information_schema.columns where table_name ='''||tablesName||''' and data_type = ''character varying''';loopif found thenfetch columnCursor into columnsName;resultV := resultV || columnsName || ',';if columnsName is not null thenexecute 'update '||tablesName||' set '||columnsName||' = replace('||columnsName||','''||nowChar||''','''||afterChar||''')';raise notice 'columnsName:%',columnsName;end if;elseclose columnCursor;exit;end if;end loop;else close tableCursor;exit;end if;end loop;
return resultV;
end;
$$
逻辑是 首先查询所有数据库表,然后遍历每个表的每一个字段将符合条件的字段替换为想要替换的内容。
这里有几个注意点:
一、库里有一些以pg、sql开头的表是自带的隐藏表,不需要替换
二、替换内容时,我只替换了数据类型为character varying类型的数据,可以根据自己需要更改
PostgreSQL全局替换字符串函数相关推荐
- Python正则替换字符串函数re.sub用法示例(1)
本文实例讲述了Python正则替换字符串函数re.sub用法.分享给大家供大家参考,具体如下: python re.sub属于python正则的标准库,主要是的功能是用正则匹配要替换的字符串 然后把它 ...
- python字符串替换函数_Python正则替换字符串函数re.sub用法示例
本文实例讲述了Python正则替换字符串函数re.sub用法.分享给大家供大家参考,具体如下: python re.sub属于python正则的标准库,主要是的功能是用正则匹配要替换的字符串 然后把它 ...
- PHP替换字符串函数strtr()和str_replace()
strtr(string,from,to): 逐个字符开始替换,以from跟to中长度较较短的一个为准,例如: strtr("aidenliu","ai",&q ...
- python中的正则替换字符串函数re.sub
python re.sub属于python正则的标准库,主要是的功能是用正则匹配要替换的字符串 然后把它替换成自己想要的字符串的方法 re.sub 函数进行以正则表达式为基础的替换工作 下面是一段示例 ...
- sql 替换字符串函数_你有一份Excel文本函数大全,请注意查收(下)
点击关注上方"SQL数据库开发", 设为"置顶或星标",第一时间送达干货 之前给大家分享了Excel文本函数的上中两部分,没有看的小伙伴可以戳这里: 你有一份E ...
- SQL替换字符串函数replace()
REPLACE ( str, from_str, to_str ) str:需要被修改的字符串 from_str:要被替换的子字符串 to_str :新的子字符串 SELECT REPLACE(&qu ...
- postgresql中替换字符串中的换行符和回车符号
直接看SQL,亲测有效. updateacutary_drug_hypothesis setindication_code = replace(replace(indication_code, CHR ...
- postgresql 字符串函数
字符串函数: postgresql中的字符串函数有:计算字符串长度函数.字符串合并函数.字符串替换函数.字符串比较函数.查找指定字符串位置函数等. 1.计算字符串字符数和字符串长度的函数:char_l ...
- MySQL高级 - SQL技巧 - 数字函数与字符串函数
数字函数 函数名称 作 用 ABS 求绝对值 SQRT 求二次方根 MOD 求余数 CEIL 和 CEILING 两个函数功能相同,都是返回不小于参数的最小整数,即向上取整 FLOOR 向下取整,返回 ...
最新文章
- TensorFlow可以做什么?让Google Brain首席工程师告诉你
- Socket SSL通讯
- 敏捷个人第六次练习讨论:个人价值观练习
- HDU-4027 Can you answer these queries? --线段树
- 2021-07-29动态规划自学笔记
- 2016年 企业IT管理员需要做好这些准备
- 20220309讨论
- 基于AT89C52单片机秒表设计
- Silverlight/Windows8/WPF/WP7/HTML5周学习导读(10月29日-11月4日)
- echarts 官网访问慢
- stack在python中是什么意思_python栈是什么意思
- 简要说明人工智能专业以及就业前景
- 市场对计算机应用技术的需求,计算机应用技术专业人才需求调研分析
- 【LeetCode】每日一题——保持城市天际线
- Fortran基础编程(3)——格式化输出
- 用python做股票量化分析豆瓣_[转]构建基于R的交易系统(5)quantstrat包(中)(来源:豆瓣-数据铺子)...
- 【MATLAB教程案例39】语音信号的PCM编解码matlab仿真学习
- gym101064L The Knapsack problem 超大容量完全背包
- 办公室族腰酸背痛 左右摇腿运动可缓解
- 在现网中使用AAA 认证、授权、计费的详细教程
热门文章
- 物联网企业争抢「两轮车换电」赛道
- 1 buffers were freed while being dequeued
- 高通平台开发系列讲解(USB篇)Composite USB gadget framework
- 打包开发板根文件系统,并制作成img镜像
- DBcontext应用于已存在数据库
- SQL语句(四)联表查询
- 如何设计一个高并发的存储系统
- ORA-01274: cannot add datafile '/oradata/orauat/tbs_captain01.dbf'
- TCP协议-TCP的拥塞控制
- 低频矢量网络分析仪(VNA)的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告