SQL:从其他表格中提取单元格中间的数字

时间:2019-05-27 16:58:00

标签: sql sql-server ssms

我需要帮助来从另一个表中提取一个数字。 我会解释: 第一表有电话号码。 示例:+12125634533, +41542858585

第二张桌子有

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

我如何让算子在数字之内?

示例:

+12125634533-运营商是212(1是国家区号,5634533是电话号码-始终为7个数字)

+41542858585-运算符为54(国家代码为41,电话号码为2858585)。

1 个答案:

答案 0 :(得分:0)

假设电话前缀是唯一的,并且电话号码始终以+开头,则如下所示:

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 + '%';

assert是db <>小提琴。