在實(shí)際的項(xiàng)目開(kāi)發(fā)中有時(shí)會(huì)有對(duì)數(shù)據(jù)庫(kù)某字段截取部分的需求,這種場(chǎng)景有時(shí)直接通過(guò)數(shù)據(jù)庫(kù)操作來(lái)實(shí)現(xiàn)比通過(guò)代碼實(shí)現(xiàn)要更方便快捷些,mysql有很多字符串函數(shù)可以用來(lái)處理這些需求,如Mysql字符串截取總結(jié):left()、right()、substring()、substring_index()。
一.從左開(kāi)始截取字符串
用法:left(str, length),即:left(被截取字符串, 截取長(zhǎng)度)
SELECT LEFT('www.yuanrengu.com',8);
結(jié)果為:www.yuan
二.從右開(kāi)始截取字符串
用法:right(str, length),即:right(被截取字符串, 截取長(zhǎng)度)
SELECT RIGHT('www.yuanrengu.com',6);
結(jié)果為:gu.com
三.截取特定長(zhǎng)度的字符串
用法:
substring(str, pos),即:substring(被截取字符串, 從第幾位開(kāi)始截取)
substring(str, pos, length),即:substring(被截取字符串,從第幾位開(kāi)始截取,截取長(zhǎng)度)
1.從字符串的第9個(gè)字符開(kāi)始讀取直至結(jié)束
SELECT SUBSTRING('www.yuanrengu.com', 9);
結(jié)果為:rengu.com
2.從字符串的第9個(gè)字符開(kāi)始,只取3個(gè)字符
SELECT SUBSTRING('www.yuanrengu.com', 9, 3);
結(jié)果為:ren
3.從字符串的倒數(shù)第6個(gè)字符開(kāi)始讀取直至結(jié)束
SELECT SUBSTRING('www.yuanrengu.com', -6);
結(jié)果為:gu.com
4.從字符串的倒數(shù)第6個(gè)字符開(kāi)始讀取,只取2個(gè)字符
SELECT SUBSTRING('www.yuanrengu.com', -6, 2);
結(jié)果為:gu
四.按關(guān)鍵字進(jìn)行讀取
用法:substring_index(str, delim, count),即:substring_index(被截取字符串,關(guān)鍵字,關(guān)鍵字出現(xiàn)的次數(shù))
1.截取第二個(gè)“.”之前的所有字符
SELECT SUBSTRING_INDEX('www.yuanrengu.com', '.', 2);
結(jié)果為:www.yuanrengu
2.截取倒數(shù)第二個(gè)“.”之后的所有字符
SELECT SUBSTRING_INDEX('www.yuanrengu.com', '.', -2);
結(jié)果為:yuanrengu.com
3.如果關(guān)鍵字不存在,則返回整個(gè)字符串
SELECT SUBSTRING_INDEX('www.yuanrengu.com', 'sprite', 1);
本文由網(wǎng)上采集發(fā)布,不代表我們立場(chǎng),轉(zhuǎn)載聯(lián)系作者并注明出處:http://m.zltfw.cn/shbk/37448.html