MySQL 查询可选择包含名称记录的列中最后一个空格左侧的所有内容


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

mysql> create table DemoTable1939
   (
   FullName varchar(20)
   );
Query OK, 0 rows affected (0.00 sec)

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

mysql> insert into DemoTable1939 values('Adam Smith');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1939 values('Robert Downey, Jr.');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1939 values('Sylvester Stallone');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1939 values('Chris Hemsworth');
Query OK, 1 row affected (0.00 sec)

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

mysql> select * from DemoTable1939;

这将生成以下输出 -

+--------------------+
| FullName           |
+--------------------+
| Adam Smith         |
| Robert Downey, Jr. |
| Sylvester Stallone |
| Chris Hemsworth    |
+--------------------+
4 rows in set (0.00 sec)

以下是对最后一个空格左侧所有内容进行选择的查询

mysql> select
   LEFT(FullName, LENGTH(FullName) - LOCATE(' ', REVERSE(FullName))+1)
   from DemoTable1939;

这将生成以下输出 -

+---------------------------------------------------------------------+
| LEFT(FullName, LENGTH(FullName) - LOCATE(' ', REVERSE(FullName))+1) |
+---------------------------------------------------------------------+
| Adam                                                                |
| Robert Downey,                                                      |
| Sylvester                                                           |
| Chris                                                               |
+---------------------------------------------------------------------+
4 rows in set (0.00 sec)

更新于: 30-Dec-2019

176 人浏览

开始您的职业生涯

完成课程即可获得认证

入门
广告
© . All rights reserved.