Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Zamiana określonego znaku w adresach e-mail na „*” w zapytaniu SQL

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

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

Wynik

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

Właśnie pomyślałem o innym prostszym rozwiązaniu

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

To również da ci dokładnie te same wyniki.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zwróć tożsamość ostatniego wstawionego wiersza z procedury składowanej

  2. Jak zaimportować bazę danych SQL Server do programu Access 2016

  3. Zmieniłem nazwę mojej kolumny, aby zawierała nazwę tabeli. Dlaczego nie mogę już zmienić jego nazwy?

  4. Włącz agenta serwera SQL przez SSMS

  5. utrata skali podczas wykonywania obliczeń