我有一个包含特殊数据的表,我需要在备份后隐藏这些数据 例如我有一个包含这样的电话号码的文件
0020158578939
我需要做成这样
002015*******
我必须使用什么 sql 命令来执行此操作。 我在这里搜索但没有找到合适的答案 提前谢谢你
最佳答案
假设列名是phone
,这个SQL语句会做:
SELECT CONCAT(SUBSTR(phone, 1, 6), REPEAT('*', CHAR_LENGTH(phone) - 6)) AS masked_phone
FROM `yourTable`
这将只显示前 6 个字符,并将用 *
屏蔽其余字符。
更新(根据您的评论):
备份后,您可以生成以下 UPDATE
语句来屏蔽电话号码:
UPDATE `yourTable`
SET phone = CONCAT(SUBSTR(phone, 1, 6), REPEAT('*', CHAR_LENGTH(phone) - 6))
关于php - 如何屏蔽mysql中的数据字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28959316/