Как получить вторую или первую часть адреса электронной почты в Amazon Redshift? - PullRequest
0 голосов
/ 27 сентября 2019

В моей таблице есть столбец, в котором сохраняются адреса электронной почты.

  1. Как выбрать первую его часть (до «@»)?
  2. Как выбрать вторую часть (после «@»)?
  3. Что делает следующий оператор WHERE в Redshift (email_add - это столбец, сохраняющий адреса электронной почты в таблице)?

    SELECT blablabla WHERE SUBSTRING(email_add,1,DECODE(POSITION('@' IN email_add),0,2,POSITION('@' IN email_add)-1)) IN ('arzt','zahnarzt','heilpraktiker','orthopaed','facharzt','praxis','gynaekol','klinik')

1 Ответ

0 голосов
/ 27 сентября 2019

Для 1 и 2, split_part (разбить строку на разделитель и вернуть заданное поле (считая от одного). https://www.postgresql.org/docs/9.1/functions-string.html:

SELECT split_part('abc@def.com', '@', 1); -- abc
SELECT split_part('abc@def.com', '@', 2); -- def.com
...