mysql5.7实现regex_replace正则替换功能

PS:最近接个小需求:针对用户敏感信息脱敏处理,数据源在mysql。刚开始想法是直接用mysql里面的regexp_replace函数对敏感字段进行清洗。后来发现mysql8.0才支持regexp_replace()。mysql5.7里只有正则匹配的函数。再后来想把数据抽取到hdfs上用hive来处理。一想到还得抽数建表,我最终决定用mysql的自定义函数来解决,省时省力。

1.开启mysql自定义函数支持

a.查看mysql当前是否支持编写自定义:

show variables like '%fun%'; 

在这里插入图片描述
b.log_bin_trust_function_creators=OFF表示没有开启自定义函数。输入开启命令。

set global log_bin_trust_function_creators=1; 

在这里插入图片描述
注:此处不开启,后面自定义函数写好。调用不起作用!

2.编写regexp_replace()自定义函数

a.编写代码如下:

#创建前删除已经创建的自
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值