SQL电话号码转换

SQL电话号码转换,sql,Sql,我有一个SQL数据库中的电话号码,以(xxx)xxx xxxx格式存储。有没有办法将它们转换为XXXXXXXXX格式 只需使用REPLACE()函数即可: SELECT REPLACE(REPLACE(REPLACE(REPLACE('(XXX) XXX-XXXX','(',''),')',''),'-',''),' ','') 假设您使用的是Oracle或MySQL 8+,则可以使用REGEXP\u REPLACE: SELECT REGEXP_REPLACE('(914) 591-

我有一个SQL数据库中的电话号码,以(xxx)xxx xxxx格式存储。有没有办法将它们转换为XXXXXXXXX格式

只需使用
REPLACE()
函数即可:

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

假设您使用的是Oracle或MySQL 8+,则可以使用
REGEXP\u REPLACE

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

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


您可以使用
REPLACE
功能来实现。这里回答:这是如何得到2张选票的?“删除非数字字符SQL”,“格式化电话号码SQL”,谷歌搜索中的任何一项都会显示任何内容?使用MySQL的REGEXP REPLACE可以缩短搜索时间,但它仅适用于MySQL 8.0