将电话号码(如+11234567890)拆分为第1列中的123和第2列中的4567890

thigvfpy  于 2021-07-24  发布在  Java
关注(0)|答案(2)|浏览(443)

下面是一些示例数据

phone_area_code phone_number
NULL    +11234567890
NULL    +11234567890
NULL    +11234567890
NULL    +11234567890

我想得到这样的结果

phone_area_code phone_number
123             4567890
123             4567890
123             4567890
123             4567890
nwlls2ji

nwlls2ji1#

你可以用 SUBSTRING() 取回…的一部分 VARCHAR 类型。例如:

select
  substring(phone_number, 3, 3) as phone_area_code
  substring(phone_number, 6, 7) as phone_number
from t
pjngdqdw

pjngdqdw2#

您可以使用左右函数来获得区号和电话号码

select LEFT(REPLACE(phone_number,'+1',''),3) AS phone_area_code,
       RIGHT(phone_number,7) AS phone_number
from 
(
values
(NULL    ,'+11234567890'),
(NULL    ,'+11234567890'),
(NULL    ,'+11234567890'),
(NULL    ,'+11234567890')
) as cte_phone(phone_area_code,phone_number)
+-----------------+--------------+
| phone_area_code | phone_number |
+-----------------+--------------+
|             123 |      4567890 |
|             123 |      4567890 |
|             123 |      4567890 |
|             123 |      4567890 |
+-----------------+--------------+

相关问题