我有一个带有导入电话号码字段的MySql表,该字段意外地以NNN-NNNN-NNN格式导入。我想改变任何电话号码在该格式为NNN-NNN-NNNN格式。我想测试无效格式的字段(如果不正确则更新)可以使用以下查询标识:
SELECT value FROM wp_bp_xprofile_data WHERE field_id = 9有人能建议怎么做改变吗?
发布于 2019-10-07 22:57:08
您可以使用RLIKE来选择需要修改的值,使用LEFT、RIGHT和REPLACE来修改:
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}';原始数据:
| phone_number |
| ------------ |
| 012-3456-789 |
| 987-654-3210 |运行update语句之后:
| phone_number |
| ------------ |
| 012-345-6789 |
| 987-654-3210 |https://stackoverflow.com/questions/58278078
复制相似问题