MySQL 查询手机号时隐藏中间 4 位

来源:互联网 发布:java encodeuri 编辑:程序博客网 时间:2024/06/05 14:21

  很多时候我们会根据昵称显示某某用户,但如果用户未设置昵称时就需要用用户名代替,但用户名又是手机号的时候,隐私问题就来了,所以下面是一个简单的方法在查询时自动 Get 到隐藏后的手机号。

很简单,对需要屏蔽的字段用 concat_ws 处理一下就 OK 啦。中间用 JOIN 啥的并不影响哈。

SELECT    # 查询其他数据    u.id,    u.user_name,    # 查询手机号    concat_ws(        # 星号代替,需要屏蔽几位就输入几个字符,这儿是 4 位星号        '****',        # user_name = 手机号字段。取第 1 位开始一共 3 个字符(手机号前 3 位        substring(u.user_name, 1, 3),        # 取第 8 位开始一共 4 个字符(手机号后 4 位        substring(u.user_name, 8, 4)    ) AS 'mobile' # 取一个别名FROM    users AS u
原创粉丝点击