Я пытаюсь проверить достоверность списка электронных писем. Допустимые электронные письма - это те, которые отформатированы как:
name.lastname@host.domain
Я могу найти действительные электронные письма, используя оператор regex или LIKE. Но я хотел бы узнать, есть ли способ использовать данные из других столбцов, таких как «имя» и «фамилия», чтобы избежать любых проблем, которые могут возникнуть из-за уникальных имен, которые включают в себя различные символы, которые не охватываются [A-Za-z] в Regex.
Я пробовал это:
SELECT name,
lastname,
email,
CASE
WHEN email ~ '[A-Za-z]*\.[A-Za-z]*\@[A-Za-z]*\.[A-Za-z]*' THEN true
ELSE false
END AS valid
FROM personlist
и это:
SELECT name,
lastname,
email,
CASE
WHEN email LIKE '%.%||%.%' THEN true
ELSE false
END AS valid
FROM personlist
Они, кажется, работают очень хорошо, но я хочуузнайте, есть ли способ использовать данные из других столбцов с оператором, таким как LIKE. Я думаю, что использование данных из существующих столбцов приведет к более целенаправленным и надежным запросам.
Например:
+-----------+----------+-----------------------------+-------+
| name | lastname | email | valid |
+-----------+----------+-----------------------------+-------+
| Molly-Rae | Jackson | molly-rae.jackson@xmail.com | true |
| Molly-Rae | Jackson | molly-raejackson@xmail.com | false |
+-----------+----------+-----------------------------+-------+