加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql – 选择时的字符掩码输出数据

发布时间:2020-12-12 06:50:24 所属栏目:MsSql教程 来源:网络整理
导读:我正在使用SQL Server 2008. 我想掩盖查询的输出数据. 这是我在执行select时来自表中列的数据: column1384844033434743423547878111224678885 我想要这样的输出: column1384xxxxxx434743xxxxxx878111xxxxxx885 我怎样才能做到这一点? 解决方法 您必须使用
我正在使用SQL Server 2008.

我想掩盖查询的输出数据.

这是我在执行select时来自表中列的数据:

column1

384844033434

743423547878

111224678885

我想要这样的输出:

column1

384xxxxxx434

743xxxxxx878

111xxxxxx885

我怎样才能做到这一点?

解决方法

您必须使用视图,并拒绝所有用户对基础表的SELECT访问权限.

你的观点看起来像

SELECT 
     SUBSTRING(x.SecurityNumber,1,3) + 
     'xxxxx' + 
     SUBSTRING(x.SecurityNumber,LEN(x.SecurityNumber) - 2,LEN(x.SecurityNumber))
     AS column1
FROM underlyingTable x

然后,您可以授予您的用户SELECT访问此视图的权限,并以您描述的方式屏蔽掉.

如果您希望客户端软件能够在此表中插入或更新数据,则可以使用INSTEAD OF INSERT或INSTEAD OF UPDATE触发器来更新基表.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读