mysql - 仅前 x 个字符有条件替换

标签 mysql

我目前正在使用一个相当大的 MySQL 数据库。它存储一般联系信息。表名称为“customers”,我要更改的列名为“serviceNumber”。

我们刚刚发现我们需要仔细检查并更改许多记录的格式。详细信息如下:

此列中的大多数电话号码都包含我们的国家/地区代码(“61400000000”),有些电话号码的格式与本地号码相同(“0400000000”)。 我知道我可以告诉 MySQL 进行检查并将所有出现的“614”替换为“04”,但问题是很多号码碰巧在实际电话号码本身中包含“614”。

我该如何仅替换“614”开头的记录?

最佳答案

update tableName set number = concat ('04', substring (number, 4)) where number like '614%';

这可能对你有帮助 1 首先替换为前 3 位数字 然后我们将现有数字与 04 连接起来

关于mysql - 仅前 x 个字符有条件替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30449264/

相关文章:

php - 不返回重复数据的 SQL 连接

php - 如何在Moodle数据库模块中添加新的表单字段?

mysql - 选择 all_data WHERE value_in_column LIKE specific_string

python - 如何在发送到远程数据库之前缓存数据?

mysql - 如何将数据从一张表传输到另一张表?

php - 无法将日语字符从 XML 导入 MySQL

mysql - 德瓦特.Data.MySql : Concurrency violation: the UpdateCommand affected 0 of the expected 1 records

java - MySql - 找不到合适的驱动程序

mysql - SQL WHERE 语句多列 LIKE 一个值

mysql - SQL 按月按 "Folder Name"分组,然后总计