来自example@gmail.com
exam***@gm***.com
任何人都可以使用SQL查询屏蔽电子邮件。上面显示example@gmail.com
并将其转换为
exam***@gm***.com
答案 0 :(得分:3)
DECLARE @String VARCHAR(100) = 'example@gmail.com'
SELECT LEFT(@String, 3) + '*****@'
+ REVERSE(LEFT(RIGHT(REVERSE(@String) , CHARINDEX('@', @String) +2), 2))
+ '******'
+ RIGHT(@String, 4)
<强>结果强>
exa*****@gm******.com
想到另一个更简单的解决方案
SELECT LEFT(@String, 3) + '*****@'
+ SUBSTRING(@String, CHARINDEX('@',@String)+1,2)
+ '*******'
+ RIGHT(@String, 4)
这也会给你完全相同的结果。
答案 1 :(得分:1)
Declare @input varchar(50)='example@gmail.com '
select left(@input,4)+replicate('*',len(substring(@input,5,charindex('@',@input)-5)))
+substring(@input,charindex('@',@input),3)
+replicate('*',len(substring(@input,charindex('@',@input)+3,len(@input)-charindex('.',@input))))
+substring(@input,charindex('.',@input),len(@input))
答案 2 :(得分:0)
可能是一个多替换作品,另一种掩盖人声:
update table set mail = replace(replace(mail,'a','*') ,'e','*') and go on