Сопоставление адресов электронной почты с именем с помощью регулярных выражений в Postgresql - PullRequest
0 голосов
/ 06 февраля 2020

Мы пострадали от множества созданий учетных записей, и я пытаюсь отфильтровать все, что не соответствует столбцу адреса электронной почты, содержащему имя, и сопоставить его со столбцом с именами.

Я хотел бы найти способ сравнить их с помощью регулярных выражений, и да, я ожидаю, что многие из них не будут совпадать, если в адресе электронной почты не указано имя.

Пример:

email_address      | first_name | bool
john.doe@gmail.com | john       | true
john.doe@gmail.com | Sonny      | false

1 Ответ

0 голосов
/ 06 февраля 2020

Вы можете использовать like:

select
    email_address,
    first_name,
    email_address like first_name || '%' bool
from mytable

Это проверяет, начинается ли адрес электронной почты с с первого имени.

Если вы хотите, чтобы регистр не учитывался match, вы можете использовать ilike вместо like.

. Для более точного соответствия имени и предположения, что электронные письма всегда в for <first_name>.<last_name>@...., вы можете сделать:

email_address like first_name || '.%'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...