sql >> Database >  >> RDS >> Sqlserver

Een bepaald teken in e-mailadressen vervangen door '*' in een SQL-query

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

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

Resultaat

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

Ik heb net een andere eenvoudigere oplossing bedacht

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

Dit geeft je ook exact dezelfde resultaten.



  1. CONTINUE In Loops gebruiken om de controle in Oracle te hervatten

  2. MySQL – MariaDB – De allereerste opgeslagen procedure schrijven

  3. Hoe het percentage van twee kolommen in MySQL te berekenen

  4. Tool om t-sql (SQL Server) opgeslagen procedure te converteren naar pgsql (postgre sql)