在 MySQL 中根据定界符的最后一次出现获取字符串的左侧?
为此,使用 LEFT() 方法。我们使用 LOCATE() 方法和 REVERSE() 方法进行操作。
首先创建一张表 −
mysql> create table DemoTable ( Title text ); Query OK, 0 rows affected (0.52 sec)
使用 insert 命令在表中插入一些记录 −
mysql> insert into DemoTable values('$/This$is[MySQL]$/MySQL[FirstClass]$MySQL[SecondClass]'); Query OK, 1 row affected (0.19 sec) mysql> insert into DemoTable values('$/This$is[Java]$/Java[FirstClass]$Java[SecondClass]'); Query OK, 1 row affected (0.10 sec)
使用 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)
广告