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

前端之家收集整理的这篇文章主要介绍了sql – 选择时的字符掩码输出数据前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用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触发器来更新基表.

猜你在找的MsSQL相关文章