如何獲取 MySQL 中指定字串中最後一個子字串的索引?
如要獲取指定字串中最後一個子字串的索引,請使用 char_length() 函式。首先,我們需要計算字串長度,然後將最後一個子字串長度從整個長度中減去。長度差即為子字串索引。
語法
語法如下 −
select CHAR_LENGTH(yourColumnName) - LOCATE('yourDelimiter ',
REVERSE(yourColumnName))+1 as anyVariableName
from yourTableName;為了理解上述語法,我們先建立一個表格。建立表格的查詢如下 −
mysql> create table SubStringIndexDemo -> ( -> Words varchar(200) -> ); Query OK, 0 rows affected (0.57 sec)
使用 insert 命令在表格中插入一些記錄。查詢如下 −
mysql> insert into SubStringIndexDemo values('This is MySQL Query');
Query OK, 1 row affected (0.13 sec)
mysql> insert into SubStringIndexDemo values('MySQL is a Relational Database');
Query OK, 1 row affected (0.34 sec)
mysql> insert into SubStringIndexDemo values('Java is a programming language');
Query OK, 1 row affected (0.11 sec)
mysql> insert into SubStringIndexDemo values('Spring is a Framework');
Query OK, 1 row affected (0.20 sec)使用 select 命令顯示錶格中的所有記錄。查詢如下 −
mysql> select *from SubStringIndexDemo;
輸出
+--------------------------------+ | Words | +--------------------------------+ | This is MySQL Query | | MySQL is a Relational Database | | Java is a programming language | | Spring is a Framework | +--------------------------------+ 4 rows in set (0.00 sec)
以下是用於獲取最後一個子字串索引的查詢:
mysql> select CHAR_LENGTH(Words) - LOCATE(' ', REVERSE(Words))+1 as
PositionOfLastSubstring
-> from SubStringIndexDemo;輸出
+-------------------------+ | PositionOfLastSubstring | +-------------------------+ | 14 | | 22 | | 22 | | 12 | +-------------------------+ 4 rows in set (0.00 sec)
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP