我的电话号码存储在phone
列下的用户表格中。它们被格式化为一整串数字,没有破折号。像这样:8005550012。
有没有办法获取电话号码,并将其拆分为3个字段,例如area_code
,prefix
和number
?
我尝试使用类似SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(phone, ' ', 1), ' ', -1) AS area_code,
之类的东西,但它并不漂亮,我觉得它根本不正确。
答案 0 :(得分:3)
MID()
会像你一样为你做这件事:
create table test (phone varchar(50));
insert into test values ('8005550012');
select
mid(phone, 1, 3) as areacode,
mid(phone, 4, 3) as prefix,
mid(phone, 7, 4) as phonenumber
from test;
Result:
areacode | prefix | phonenumber
800 | 555 | 0012