如何在SQL SELECT语句中添加固定值伪列实现学生姓名脱敏
实现方法
你只需要在原有查询的字段列表中,插入一个固定常量值作为独立列,同时通过别名指定列名,就能实现全行取值统一的脱敏效果,完全不需要关联其他表、也不需要修改原表结构。
修改后的查询语句
SELECT s_id, -- 新增固定值列,指定别名为s_name 'Student' AS s_name, s_subject, s_marks FROM student
逻辑说明
- 所有SQL数据库都支持直接在SELECT子句中写入无表来源的常量值,这个值不会和原表的任何字段绑定,返回的每一行结果都会自动带上这个固定值
- 必须通过
AS 列名给常量列指定别名,否则返回的列名会默认和常量字符串本身一致,不符合结果要求 - 写字符串常量时一定要用单引号包裹,否则SQL引擎会把
Student识别成不存在的字段名,触发执行报错
执行返回效果
跑出来的结果和你预期的展示完全一致:
| s_id | s_name | s_subject | s_marks |
|---|---|---|---|
| 1 | Student | English | 30 |
| 2 | Student | Hindi | 50 |
小提示:如果后续需要调整脱敏名称,只需要修改单引号里的字符串内容即可,不需要改动其他查询逻辑。
内容的提问来源于stack exchange,提问作者marwari
相关产品推荐
相关产品推荐

