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

mysqlmysqli database更新于 2024/4/4 9:18:00

实现此目的的最简单方法是使用 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() 从 zipcode 中删除 -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)

相关文章