MySQL查询删除带数字的VARCHAR字符串中的连字符后的数字

为此,请使用SUBSTRING_INDEX()。让我们首先创建一个表-

create table DemoTable2040
   -> (
   -> StudentCode varchar(20)
   -> );

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

insert into DemoTable2040 values('John-232');

insert into DemoTable2040 values('Carol-901');

insert into DemoTable2040 values('David-987');

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

select *from DemoTable2040;

这将产生以下输出-

+-------------+
| StudentCode |
+-------------+
| John-232    |
| Carol-901   |
| David-987   |
+-------------+
3 rows in set (0.00 sec)

这是删除连字符后的数字的查询-

update DemoTable2040
   -> set StudentCode=substring_index(StudentCode,'-',1);
Rows matched: 3 Changed: 3 Warnings: 0

让我们再次检查表记录-

select *from DemoTable2040;

这将产生以下输出-

+-------------+
| StudentCode |
+-------------+
| John        |
| Carol       |
| David       |
+-------------+
3 rows in set (0.00 sec)