SQL语句实现姓名手机号打码

使用INSERT(s1,x,len,s2)函数: 

    函数说明:字符串 s2 替换 s1 的 x 位置开始长度为 len 的字符串

    菜鸟教程:MySQL 函数 | 菜鸟教程

以下示例:consignee收件人名字第二个字改为*号,收件人手机号中间4位改为****

   SELECT
		o.id,
		o.order_id,
		o.shop_id,
		o.owner_id,
		INSERT ( CONCAT( o.consignee ), 2, 1, '*' ) AS consignee,
		INSERT ( CONCAT( o.consignee_telephone ), 4, 4, '****' ) AS consignee_telephone,
		o.consignee_province,
		o.consignee_city,
		o.consignee_town,
		o.consignee_address,
		o.express_code
    from bd_order o 

拓展:以下SQL为查询订单信息并将4PL-ZTO的订单收件人名字和手机号打码

   SELECT
		o.id,
		o.order_no,
		o.enterprise_id,
		o.shop_id,
		o.owner_id,
		o.state,
		o.create_time,
		IF ( o.pl_model = "4PL" AND o.express_code = "ZTO", INSERT ( CONCAT( o.consignee ), 2, 1, '*' ), o.consignee ) AS consignee,
		IF ( o.pl_model = "4PL" AND o.express_code = "ZTO", INSERT ( CONCAT( o.consignee_telephone ), 4, 4, '****' ), o.consignee_telephone ) AS consignee_telephone,
		o.consignee_province,
		o.consignee_city,
		o.consignee_town,
		o.consignee_address,
		o.logistics_no,
		o.logistics_name,
		o.logistics_code,
		o.gross_weight,
		o.express_code
    from bd_order o 
	where o.state=#{state} 
		and o.return_status in (100,200)
	

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值