[英]SQL Phone Number Conversion
I have phone numbers in a SQL database stored in (xxx) xxx-xxxx format. 我在SQL数据库中以(xxx)xxx-xxxx格式存储的电话号码。 is there any way to cast these as xxxxxxxxxx format instead?
有什么办法可以将它们转换为xxxxxxxxxx格式吗?
只需使用REPLACE()
函数即可:
SELECT REPLACE(REPLACE(REPLACE(REPLACE('(XXX) XXX-XXXX','(',''),')',''),'-',''),' ','')
Assuming you are using Oracle or MySQL 8+, you could use REGEXP_REPLACE
: 假设您使用的是Oracle或MySQL 8+,则可以使用
REGEXP_REPLACE
:
SELECT
REGEXP_REPLACE('(914) 591-8563', '\((\d{3})\)\s*(\d{3})-(\d{4})', '\1\2\3')
FROM dual;
9145918563
This solution works via regex by capturing the 10 digits, and then generating a replacement of only digits. 此解决方案通过捕获10个数字,然后生成仅替换数字的方式,通过正则表达式工作。 Explore the demo below using either Oracle or MySQL 8+:
使用Oracle或MySQL 8+浏览以下演示:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.