我想更改2个字母,并掩蔽其余的字母。我更改了字母,但没有遮盖其他字母。此更改命令为
SELECT NAME,
CONCAT(SUBSTRING(NAME, 1, 2),
SUBSTRING(NAME, 4, 1),
SUBSTRING(NAME, 3, 1),
SUBSTRING(NAME, 5, ABS(LEN(NAME) -4)))
AS CHANGELETTER
FROM TESTBILGILER
如何屏蔽SQL SERVER 2014?
发布于 2018-08-05 23:10:08
日安,
In this article you can read about the Database Engine Dynamic Data Masking feature in SQL Server 2016和in this article you can watch how we can implement the same solution in older versions。基本思想是使用视图和触发器在数据库级别创建安全层。
**如果您将发布查询以创建特定的表,并根据示例数据插入一些示例数据+请求的结果,那么我们可以帮助您找到可以在掩蔽过程中使用的特定查询(在实现掩蔽的视图中)。
发布于 2018-08-06 04:00:49
此函数执行您所要求的操作。它怎麽工作?从两个X开始,添加第四个字符,添加第三个字符,然后添加与原始字符串中的字符一样多的X。这会增加4个不必要的X,但这没问题。最后,截断结果以匹配原始字符串的长度。这对于处理少于4个字符的输入字符串是必要的。
create table X ( Name nvarchar(1000) )
insert into X ( Name ) values
('Christina'), -- 'XXirXXXXX'
('John'), -- 'XXnh'
('Susan'), -- 'XXasX'
('Wil'), -- 'XXl'
('Bo'), -- 'XX'
('Q'), -- 'X'
('') -- ''
select Name, substring ( 'XX' + substring(Name,4,1) + substring(Name,3,1) + replicate('X',len(Name) ), 1, len(Name) ) from X
https://stackoverflow.com/questions/51695230
复制相似问题