SQL电话号码转换

时间:2019-01-04 13:47:18

标签: sql

我在SQL数据库中以(xxx)xxx-xxxx格式存储了电话号码。有什么办法可以将它们转换为xxxxxxxxxx格式吗?

2 个答案:

答案 0 :(得分:1)

只需使用REPLACE()函数:

SELECT REPLACE(REPLACE(REPLACE(REPLACE('(XXX) XXX-XXXX','(',''),')',''),'-',''),' ','')

答案 1 :(得分:0)

假设您使用的是Oracle或MySQL 8+,则可以使用REGEXP_REPLACE

SELECT
    REGEXP_REPLACE('(914) 591-8563', '\((\d{3})\)\s*(\d{3})-(\d{4})', '\1\2\3')
FROM dual;

9145918563

此解决方案通过捕获10个数字,然后生成仅替换数字的方式,通过正则表达式工作。使用Oracle或MySQL 8+浏览以下演示:

Demo