Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Ersetzen bestimmter Zeichen in E-Mail-Adressen durch „*“ in einer SQL-Abfrage

DECLARE @String VARCHAR(100) = '[email protected]'

SELECT  LEFT(@String, 3) + '*****@' 
        + REVERSE(LEFT(RIGHT(REVERSE(@String) , CHARINDEX('@', @String) +2), 2))
        + '******'
        + RIGHT(@String, 4)

Ergebnis

exa*****@gm******.com

Ich dachte nur an eine andere einfachere Lösung

SELECT LEFT(@String, 3) + '*****@' 
       + SUBSTRING(@String, CHARINDEX('@',@String)+1,2)
       + '*******'
       + RIGHT(@String, 4) 

Dadurch erhalten Sie auch genau die gleichen Ergebnisse.