根据MySQL中最后一次出现的分隔符获取字符串的剩余部分?

为此,请使用LEFT()方法。对于操纵,我们使用LOCATE()REVERSE()方法。

让我们首先创建一个表-

mysql> create table DemoTable
(
   Title text
);

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

mysql> insert into DemoTable values('$/This$is[MySQL]$/MySQL[FirstClass]$MySQL[SecondClass]');
mysql> insert into DemoTable values('$/This$is[Java]$/Java[FirstClass]$Java[SecondClass]');

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

mysql> select *from DemoTable;

这将产生以下输出-

+--------------------------------------------------------+
| Title                                                  |
+--------------------------------------------------------+
| $/This$is[MySQL]$/MySQL[FirstClass]$MySQL[SecondClass] |
| $/This$is[Java]$/Java[FirstClass]$Java[SecondClass]    |
+--------------------------------------------------------+
2 rows in set (0.00 sec)

以下是查询以获取字符串的左部分-

mysql> select left(Title, char_length(Title) - locate('$', reverse(Title))) as result from DemoTable;

这将产生以下输出-

+-------------------------------------+
| result                              |
+-------------------------------------+
| $/This$is[MySQL]$/MySQL[FirstClass] |
| $/This$is[Java]$/Java[FirstClass]   |
+-------------------------------------+
2 rows in set (0.04 sec)