Я хочу отобразить домен электронной почты и оставшуюся часть в двух разных столбцах, используя Подстроку или Раздел по - PullRequest
0 голосов
/ 12 октября 2019

У меня есть столбец адресов электронной почты с доменом как (@Gmail.com, @Hotmail.com, @live.com и т. Д.).

Мне нужно отделить @Gmail.com, @Hotmail.com, @live.com обращайтесь к другим и пишите их в одном столбце, а оставшуюся часть перед @ в другом столбце.

Например: abc@gmail.com

Ожидаемый результат:

c1 column = abc 
c2 column = gmail.com

Как мне добиться этого с помощью подстроки или раздела?

1 Ответ

0 голосов
/ 12 октября 2019

Вам просто нужны substr и row_number ()

      Select 
 Substr(email,INSTR(email,'@')+1, length(email)) as "Domain", 
   Substr(email,1,INSTR(email,'@')-1) as 
  "User", row_number() over 
   (partition by 
    Substr(email,INSTR(email,'@')+1,length(email)) order
   by Substr(email,INSTR(email,'@')+1, length(email)) )
from table; 

enter image description here

...