掩码或替换列值mysql任何列数据

时间:2017-11-29 10:14:02

标签: mysql

我们如何选择任何列值并使用默认值对其进行掩码;

名为pet的示例表:

+--------+-------+-----------+
|  name  | owner | species   |
+--------+-------+-----------+
| Elvis  | Tom   | Dog       |
| Harley | Mary  | Cat       |
+--------+-------+-----------+

我们想用'MASKED'掩盖名称列。我使用了这个选择查询但有更好的方法吗?

select 
   case name
     when 'Elvis' then 'MASKED'
     else 'MASKED'
   end as name
 from mysql.pet;

结果:

+-------------------------------+
  name              |
+-------------------------------+
| MASKED                        |
| MASKED                        |
+-------------------------------+

1 个答案:

答案 0 :(得分:1)

您可以使用以下内容屏蔽列name上的所有值:

SELECT 'MASKED' AS name, owner, species FROM pet

如果您只想屏蔽特定名称(例如猫王),可以使用以下内容:

SELECT CASE WHEN name = 'Elvis' THEN 'MASKED' ELSE name END AS name, owner, species 
FROM pet
  

演示: http://sqlfiddle.com/#!9/3ea23/1/1