1、明确需求
在写项目的时候,很多涉及用户隐私的内容都会用星号占位,例如
京东商品详情评论功能(用户昵称使用星号占位,避免泄露用户信息)
![]()
抽奖活动中奖名单(用户手机号使用星号占位,避免泄露用户信息)
思考:如何实现上图效果?
回答:通过mysql的concat、left、right系统函数
2、语法说明
作用:将多个字符串连接成一个字符串
语法:concat(字符串1,....,字符串n)
作用:从左边开始截取字符串
语法:left(字符串,截取长度)
作用:从右边开始截取字符串
语法:right(字符串,截取长度)
3、分析步骤这里我们主要通过mysql的concat、left、right函数来过滤数据库数据。我们以隐藏手机号码为例,实现过程非常简单,一共只需要3个步骤:
① 通过left函数截取手机号前3个字符
② 通过right函数截取手机号后3个字符
③ 通过concat将“前3个字符” + “*****” + 后3个字符连接起来即可
接下来,我们老师将带领大家通过以上3个步骤来实现接口代码优化....
4、推进代码步骤1:准备测试数据
[SQL] 纯文本查看 复制代码
01 02 03 04 05 06 07 08 09 10 11 12 | CREATE TABLE users ( id int primary key auto_increment comment '编号', uname varchar(45) not null comment '姓名', mobile char(11) not null comment '手机号') CHARSET=utf8;insert into users values(null, '张三', 12222222222),(null, '李四', 13333333333),(null, '王五', 14444444444),(null, '赵六', 15555555555); |
步骤2:按照分析步骤实现功能
[SQL] 纯文本查看 复制代码
01 02 03 04 05 06 07 08 09 10 11 | -- 显示所有字段 + 并单独显示手机字段别名fmt_mobile-- select *,mobile as fmt_mobile from users;-- 显示所有字段 + 并单独显示手机字段“左边3个字符”-- select *,left(mobile,3) as fmt_mobile from users;-- 显示所有字段 + 并单独显示手机字段”右边3个字符”-- select *,right(mobile,3) as fmt_mobile from users;-- 显示所有字段 + 并单独显示手机字段”左边3个字符”+"*****"+”右边3个字符”select *,concat(left(mobile,3), '*****', right(mobile,3)) as fmt_mobile from users; |












IP短视频
C/C++
狂野架构师
AI智能应用开发(Java)
AI大模型开发(Python)
AI鸿蒙开发
AI嵌入式+机器人开发
前端开发
AI大数据开发
AI运维
AI测试
AI设计
AI视频创作与直播运营
C/C++
产品经理
拍摄剪辑+短视频制作
PMP项目管理认证
电商运营
Go语言与区块链
大数据
PHP工程师
Android+物联网
iOS
.NET




