SQL 电话号码转换



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

简单地说

,您可以使用REPLACE()函数:

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

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

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

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

演示

最新更新