создать адрес электронной почты из столбцов в одной таблице - PullRequest
0 голосов
/ 05 марта 2019

Я сделал таблицу с именами, фамилиями и почтовым провайдером.Теперь я хочу создать адрес электронной почты из тех.Как я могу это сделать?

вот как выглядит таблица на данный момент:

+----------+-------------+---------------+
|   Name   | Familiyname |   provider    |
+----------+-------------+---------------+
| Karl     | Dope        | gmail.com     |
| Jonathan | Dorianius   | hotmail.com   |
| Mary     | Jane        | spiderman.com |
+----------+-------------+---------------+

Теперь я хочу сгенерировать четвертый столбец, который генерирует комбинацию.Глядя на Google, я нашел только concat, который я не могу использовать, так как я использую SQL Server 2008.

В конце это должно выглядеть так:

+----------+-------------+---------------+-------------------------------+
|   Name   | Familiyname |   provider    |             mail              |
+----------+-------------+---------------+-------------------------------+
| Karl     | Dope        | gmail.com     | Karl.Dope@gmail.com           |
| Jonathan | Dorianius   | hotmail.com   | Jonathan.Doranius@hotmail.com |
| Mary     | Jane        | spiderman.com | Mary.Jane@spiderman.com       |
+----------+-------------+---------------+-------------------------------+

любые идеи или советы

Ответы [ 4 ]

0 голосов
/ 05 марта 2019

Чтобы получить точные значения в выводе, и при условии, что адрес электронной почты всегда будет name.familiyname@provider, тогда:

Select Name, Familiyname, provider, Name + '.' + Familiyname + '@' + 
provider As mail from tablename

Для ожидаемого вывода это должно сработать

0 голосов
/ 05 марта 2019

Используйте COALESCE() для создания нулевого безопасного адреса электронной почты.

(Если имя и Familiyname не равны нулю, верните name.Familiyname@provider. Если только имя не равно нулю, верните name@provider,или если только Familiyname не равно NULL, верните Familiyname@provider.)

select coalesce(name + '.' + Familiyname, name, Familiyname) + '@' + provider As EmailAddress
from tablename
0 голосов
/ 05 марта 2019

Вы можете использовать функцию mysql CONCAT ():

select *, CONCAT(name,'.',Familiyname,"@",provider) as mailAddress from tab;

демо

0 голосов
/ 05 марта 2019

Первый путь

Select Name + Familiyname +'@' + provider As EmailAddress from @tblName

Второй путь

Select Name  +'@' + provider As EmailAddress from @tblName

Третий путь

Select Name +'_' + Familiyname +'@' + provider As EmailAddress from @tblName
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...