- 32
- 0
要求:不考虑原来字段的值,只考虑数据长度,通过脚本update tabA set colA = stringMask(colA )实现数据脱敏,例如张三丰--ASD
提问:将指定列名作为mysql自定义函数的参数,可否获取该指定列的数据???还是说这种情况通过存储过程实现更好???
背景知识:
自定义函数(user-defined function UDF)与存储过程的区别
1,函数方法的参数列表只允许IN类型的参数,并且不允许指定IN关键字
2,函数方法返回一个单一的值,值的类型在存储方法的头部定义
3,函数方法可以在SQL语句内部调用
4,函数方法不能返回结果集
UDF可以没有参数,但UDF必须有且只有一个返回值
下面是mysql自定义函数,实现的是对传进去的某个字符串进行数据脱敏
CREATE DEFINER=root@localhost FUNCTION myMask(v_str VARCHAR(800)) RETURNS varchar(800) CHARSET utf8
BEGIN
DECLARE str VARCHAR(800) DEFAULT '';
DECLARE strlen VARCHAR(800) DEFAULT '';
DECLARE chars_str varchar(100) DEFAULT 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
DECLARE return_str varchar(800) DEFAULT '';
DECLARE i INT DEFAULT 0;
SET str = v_str;
set strlen = CHAR_LENGTH(str);
WHILE i< CONVERT(strlen,SIGNED) DO
SET return_str = concat(return_str,substring(chars_str , FLOOR(1 + RAND()*62 ),1));
SET i = i +1;
END WHILE;
RETURN return_str;
END
希望通过优化,实现上述要求。
0
打赏
收藏
点击回答
您的回答被采纳后将获得:提问者悬赏的 10 元积分
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部

