首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更改MySQL表中电话号码字段的格式

问更改MySQL表中电话号码字段的格式
EN

Stack Overflow用户
提问于 2019-10-07 22:48:34
回答 1查看 159关注 0票数 1

我有一个带有导入电话号码字段的MySql表,该字段意外地以NNN-NNNN-NNN格式导入。我想改变任何电话号码在该格式为NNN-NNN-NNNN格式。我想测试无效格式的字段(如果不正确则更新)可以使用以下查询标识:

代码语言:javascript
复制
SELECT value FROM wp_bp_xprofile_data WHERE field_id = 9

有人能建议怎么做改变吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-07 22:57:08

您可以使用RLIKE来选择需要修改的值,使用LEFT、RIGHT和REPLACE来修改:

代码语言:javascript
复制
UPDATE mytable
SET phone_number = 
    CONCAT(
        LEFT(phone_number, 7),
        '-',
        REPLACE(RIGHT(phone_number, 5), '-', '')
    )
WHERE phone_number RLIKE '[0-9]{3}-[0-9]{4}-[0-9]{3}';

DB Fiddle演示

原始数据:

代码语言:javascript
复制
| phone_number |
| ------------ |
| 012-3456-789 |
| 987-654-3210 |

运行update语句之后:

代码语言:javascript
复制
| phone_number |
| ------------ |
| 012-345-6789 |
| 987-654-3210 |
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58278078

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档