Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Thay thế một số ký tự nhất định trong địa chỉ email bằng '*' trong một truy vấn SQL

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

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

Kết quả

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

Chỉ nghĩ đến một giải pháp khác đơn giản hơn

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

Điều này cũng sẽ cung cấp cho bạn kết quả chính xác tương tự.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách kiểm tra phiên bản máy chủ SQL của bạn

  2. SQL Server CTE -Tìm ID cha mẹ hàng đầu cho mỗi ID con?

  3. Các tham số giá trị bảng có nên được sử dụng ở đây không?

  4. Sử dụng APP_NAME () để lấy tên ứng dụng của phiên hiện tại trong SQL Server

  5. Cập nhật cấu hình thư cơ sở dữ liệu trong SQL Server (T-SQL)