Mysql字符串截取總結:left()函數、right()函數、substring()函數、substring_index()函數

本文目錄

一、left()函數

二、right()函數

三、substring()函數

四、substring_index()函數


在實際的項目開發中有時會有對數據庫某字段截取部分的需求,這種場景有時直接通過數據庫操作來實現比通過代碼實現要更方便快捷些,mysql有很多字符串函數可以用來處理這些需求,如Mysql字符串截取總結:left()、right()、substring()、substring_index()。

語法:

LEFT(str,len)

Returns the leftmost len characters from the string str, or NULL if any argument is NULL.

返回從字符串str最左邊的len個字符,如果任一參數爲null則返回null。

RIGHT(str,len)

Returns the rightmost len characters from the string str, or NULL if any argument is NULL.

返回從字符串str最右邊的len個字符,如果任一參數爲null則返回null。

實例如下:

SELECT left('www.baidu.com', 3);        # www
SELECT left(NULL , 4);            # null
SELECT left('www.baidu.com', NULL);     # null
SELECT right('www.baidu.com', 3);       # com
SELECT right(NULL , 3);           # null
SELECT right('www.baidu.com', NULL );   # null

以下爲詳細介紹:

一、left()函數

從左開始截取字符串

用法:left(str, length),即:left(被截取字符串, 截取長度)

SELECT LEFT('www.baidu.com',8)

結果爲:www.baid

二、right()函數

從右開始截取字符串

用法:right(str, length),即:right(被截取字符串, 截取長度)

SELECT RIGHT('www.baidu.com',6)

結果爲:du.com

三、substring()函數

截取特定長度的字符串

用法:

    substring(str, pos),即:substring(被截取字符串, 從第幾位開始截取)
    substring(str, pos, length),即:substring(被截取字符串,從第幾位開始截取,截取長度)

1.從字符串的第7個字符開始讀取直至結束

SELECT SUBSTRING('www.baidu.com', 8)

結果爲:du.com

2.從字符串的第8個字符開始,只取4個字符

SELECT SUBSTRING('www.baidu.com', 8, 4)

結果爲:du.c

3.從字符串的倒數第6個字符開始讀取直至結束

SELECT SUBSTRING('www.baidu.com', -6)

結果爲:du.com

4.從字符串的倒數第6個字符開始讀取,只取2個字符

SELECT SUBSTRING('www.baidu.com', -6, 2)

結果爲:du

四、substring_index()函數

按關鍵字進行讀取

用法:substring_index(str, delim, count),即:substring_index(被截取字符串,關鍵字,關鍵字出現的次數)

1.截取第二個“.”之前的所有字符

SELECT SUBSTRING_INDEX('www.baidu.com', '.', 2);

結果爲:www.baidu

2.截取倒數第二個“.”之後的所有字符

SELECT SUBSTRING_INDEX('www.baidu.com', '.', -2);

結果爲:baidu.com

3.如果關鍵字不存在,則返回整個字符串

SELECT SUBSTRING_INDEX('www.baidu.com', 'hero', 1);

結果爲:www.baidu.com

 

 

完結!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章