mysql 實現 substring+lastindexof 的方法
首先需要使用到的方法有SUBSTRING(SUBSTR)、LENGTH、LOCATE、REVERSE、SUBSTRING_INDEX,先看一下這幾個方法的大致意思及使用
方法 | 使用示例 | 方法及引數解釋 | ||||||||
SUBSTRING(SUBSTR) |
| 方法:擷取字串 引數:str:被擷取字串 pos:開始擷取的位置 len:擷取的長度 注:1.pos是位置,不是下標; 2.pos可以為負數,為負時則從後開始擷取;為0時什麼都沒有 | ||||||||
LENGTH |
| 方法:獲取字串長度 引數:s | ||||||||
LOCATE |
| 方法:返回字元串 substr 在字串 str 中第一次出現的位置。 如果子串 substr 在 str 中不存在,返回值為 0 引數:substr:原字串 str:要查詢的字串 pos:開始查詢的位置 | ||||||||
REVERSE |
| 方法:反轉字串 引數:str:要反轉的字串 | ||||||||
SUBSTRING_INDEX |
| 方法:按關鍵字擷取字串 引數:str:被擷取字串 delim:關鍵字 count:關鍵字出現的次數 |
接下來就是利用mysql 實現 substring+lastindexof
方法一:SELECT SUBSTRING_INDEX(str, search_str, -1);
示例:mysql>SELECTSUBSTRING_INDEX('www.mysql.com','.',-1);
->'com'
方法二:SELECT SUBSTR(str, LENGTH(str) - LOCATE(search_str, REVERSE(str)) + 2)
示例:mysql>SELECTSUBSTR('www.mysql.com',LENGTH('www.mysql.com') - LOCATE('.',REVERSE('www.mysql.com')) + 2);
->'com'
總結:方法一比較簡單,方法二比較靈活