В MySQL 8.0+ вы можете использовать SUBSTRING_INDEX
, чтобы разбить строку на части до и после @
, а затем использовать REGEXP_REPLACE
на первая часть, чтобы удалить .
s или символы после (и включая) a +
. Например:
create table data (email varchar(30));
insert into data values
('firstlast@gmail.com'),
('firstlast+2020@gmail.com'),
('fir.st.la.st@gmail.com');
select concat(regexp_replace(substring_index(email, '@', 1), '\\.|\\+.*$', ''),
'@',
substring_index(email, '@', -1))
from data
Вывод:
firstlast@gmail.com
firstlast@gmail.com
firstlast@gmail.com
Демонстрация на dbfiddle.com