SQL电话号码转换
我有一个SQL数据库中的电话号码,以(xxx)xxx xxxx格式存储。有没有办法将它们转换为XXXXXXXXX格式 只需使用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-
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