SQL: извлечение числа в середине ячейки из другой таблицы - PullRequest
1 голос
/ 27 мая 2019

Мне нужна помощь для извлечения числа из числа из другой таблицы.Я объясню: в 1-й таблице есть номера телефонов.пример: +12125634533, +41542858585

во 2-й таблице есть

country code | second column
-------------+--------------
1            | usa
41           | switzerland

как мне узнать оператора по номерам?

пример:

+12125634533- оператор 212 (1 - код страны, 5634533 - номер телефона - всегда 7 номеров)

+41542858585 - оператор 54 (41 - код страны, 2858585 - номер телефона).

1 Ответ

0 голосов
/ 27 мая 2019

Если предположить, что телефонные префиксы уникальны, а телефонные номера всегда начинаются с +, то что-то вроде этого:

select t1.*,
       substring(t1.phonenumber, 2 + len(t2.countrycode),
                 len(t1.phonenumber) - 7 - len(t2.countrycode) - 1
                )
from table1 t1 left join
     table2 t2
     on t1.phonenumber like '+' + t2.countrycode + '%';

Здесь - это дб <> скрипка.

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