我在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+探索下面的演示: