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


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

mysql> create table DemoTable
(
   ZipCode varchar(50)
);
Query OK, 0 rows affected (2.02 sec)

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

mysql> insert into DemoTable values('52533-909');
Query OK, 1 row affected (0.23 sec)
mysql> insert into DemoTable values('12345-674');
Query OK, 1 row affected (0.27 sec)
mysql> insert into DemoTable values('89893-890');
Query OK, 1 row affected (0.21 sec)
mysql> insert into DemoTable values('AAAAA-783');
Query OK, 1 row affected (0.25 sec)

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);
Query OK, 4 rows affected (0.44 sec)
Rows matched : 4 Changed : 4 Warnings : 0

让我们再次检查表记录 -

mysql> select *from DemoTable;

这将输出以下内容 -

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

更新于: 2019-10-09

151 次浏览

开启您的 职业生涯

完成课程并获得认证

开始
广告