如何使用 X 更新字符串中的第 2 个字符和第 3 个字符



我有一个员工表,里面有名字和姓氏列。我需要屏蔽数据。我需要用 X 替换第 2 个字符和第 3 个字符。

update employee 
set last_name = 
Stuff(last_name, CharIndex(LEFT(last_name,1), last_name), Len(LEFT(last_name,1)), 'X') 
from Employee where Employee_Id = 'A.Abrahams'

更新不起作用。有人可以帮忙吗?提前谢谢。

您可以尝试以下操作:

update employee 
set last_name =  stuff(last_name, 2, 2, 'XX') 
where Employee_Id = 'A.Abrahams'

如果您只需要替换位置 2 和 3,为什么不使用以下方法:

update employee
set last_name = Stuff(last_name, 2, 2, 'X')
where ...
-- 'Abrahams' --> 'AXahams'

如果要屏蔽除第一个和最后一个字符之外的所有字符,这可能有效:

update employee
set last_name = Stuff(last_name, 2, len(last_name)-2, 'X')
where len(last_name) > 2
and ...
-- 'Abrahams' --> 'AXs'
-- 'Doe' --> 'DXe'

最新更新