在 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)
廣告