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

时间:2015-04-10 03:44:42

标签: sql sql-server tsql sql-server-2008-r2

我有一个员工表,其中包含列的名字和姓氏。我需要屏蔽数据。我需要用X替换第二和第三个字符。

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'

更新无效。任何人都可以帮忙吗?提前谢谢。

2 个答案:

答案 0 :(得分:1)

您可以尝试以下操作:

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

答案 1 :(得分:1)

如果您只需更换位置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'