Я считаю этот простой запрос T-SQL полезным для возврата действительных адресов электронной почты
SELECT email
FROM People
WHERE email LIKE '%_@__%.__%'
AND PATINDEX('%[^a-z,0-9,@,.,_]%', REPLACE(email, '-', 'a')) = 0
Бит PATINDEX удаляет все адреса электронной почты, содержащие символы, которые не входят в допустимый набор символов a-z, 0-9, '@', '.', '_' & '-'.
Это можно изменить, чтобы сделать то, что вы хотите, как это:
SELECT email
FROM People
WHERE NOT (email LIKE '%_@__%.__%'
AND PATINDEX('%[^a-z,0-9,@,.,_]%', REPLACE(email, '-', 'a')) = 0)