mysql 对数据库库表中手机号替换成中间5位为
可以使用MySQL的REPLACE函数和SUBSTRING函数来实现将手机号中间5位替换成星号的操作。
假设手机号所在的表为user,手机号所在的列为phone,可以使用以下SQL语句来实现替换操作:
UPDATE user SET phone = CONCAT(SUBSTRING(phone, 1, 3), '*****', SUBSTRING(phone, 9)) WHERE phone REGEXP '^[[:digit:]]{11}$';
这条SQL语句会将手机号中间5位替换成星号,并且只会修改符合手机号格式的数据。具体实现方法是:
1.使用正则表达式判断手机号格式是否正确,只有符合11位数字的格式才会进行修改操作。
2.使用SUBSTRING函数分别取出手机号的前3位和后4位。
3.使用CONCAT函数将前3位、5个星号、后4位拼接起来,得到新的手机号。
4.使用UPDATE语句将原来的手机号替换成新的手机号。
注意:这个操作会永久修改数据库中的数据,请谨慎操作,并且最好在修改之前先备份数据。
原文地址: https://www.cveoy.top/t/topic/fjOL 著作权归作者所有。请勿转载和采集!