MySQL查询以获取特定字符连字符之前的所有字符

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

mysql> create table DemoTable1857
     (
     Name varchar(20)
     );

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

mysql> insert into DemoTable1857 values('John-Smith');
mysql> insert into DemoTable1857 values('Brown-Chris');
mysql> insert into DemoTable1857 values('David-Carol-Miller');

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

mysql> select * from DemoTable1857;

这将产生以下输出-

+--------------------+
| Name               |
+--------------------+
| John-Smith         |
| Brown-Chris        |
| David-Carol-Miller |
+--------------------+
3 rows in set (0.00 sec)

这是获取特定字符连字符之前的所有字符的查询-

mysql> select substring_index(Name,'-',1) Name from DemoTable1857;

这将产生以下输出-

+-------+
| Name  |
+-------+
| John  |
| Brown |
| David |
+-------+
3 rows in set (0.00 sec)