php - 如何屏蔽mysql中的数据字段?

标签 php mysql mask

我有一个包含特殊数据的表,我需要在备份后隐藏这些数据 例如我有一个包含这样的电话号码的文件

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/

相关文章:

php - Carbon 解析为 ISO8601

mysql - 这个 where 子句中的顺序应该重要吗?

php - PhP连接MySqli

c# - MaskedTextBox 货币输入掩码限制

Delphi输入框输入密码?

php - 在 PHP 中切换数据库

html - PHP mail() - 如何在电子邮件中放置 html 链接?

php - 对行进行分组并且不将数字显示为科学记数法

c# - 将 mask 应用于位图并在运行时生成合成图像

php - 如何在单个查询中使用通用Where子句进行多重选择?