如何使用MySQL REGEXP从邮政编码字段中删除-XXX?

最简单的方法是使用MySQL SUBSTRING_INDEX()函数。让我们首先创建一个表-

mysql> create table DemoTable
(
   ZipCode varchar(50)
);

使用插入命令在表中插入一些记录-

mysql> insert into DemoTable values('52533-909');
mysql> insert into DemoTable values('12345-674');
mysql> insert into DemoTable values('89893-890');
mysql> insert into DemoTable values('AAAAA-783');

使用select语句显示表中的所有记录-

mysql> select *from DemoTable;

这将产生以下输出-

+-----------+
| ZipCode   |
+-----------+
| 52533-909 |
| 12345-674 |
| 89893-890 |
| AAAAA-783 |
+-----------+
4 rows in set (0.00 sec)

以下是使用substring_index()从邮政编码中删除-XXX的查询-

mysql> update DemoTable set ZipCode=substring_index(ZipCode, '-', 1);
Rows matched : 4 Changed : 4 Warnings : 0

让我们再次检查表记录-

mysql> select *from DemoTable;

这将产生以下输出-

+---------+
| ZipCode |
+---------+
| 52533   |
| 12345   |
| 89893   |
| AAAAA   |
+---------+
4 rows in set (0.00 sec)