MySQL是一種流行的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),提供了多種操作字符串的方法,其中包括取子串。在MySQL中,可以使用SUBSTR函數(shù)取子串。
SELECT SUBSTR('hello world', 7); -- 輸出:world
上述代碼將會(huì)輸出字符串“world”,因?yàn)樗菑淖址癶ello world”的第七個(gè)字符開(kāi)始的。如果想要取的子串有多個(gè)字符,可以指定子串開(kāi)始的位置和長(zhǎng)度。
SELECT SUBSTR('hello world', 7, 5); -- 輸出:world
上述代碼將會(huì)輸出字符串“world”,因?yàn)樗菑淖址癶ello world”的第七個(gè)字符開(kāi)始,共五個(gè)字符。如果指定的長(zhǎng)度超過(guò)了字符串中可用的字符數(shù),那么只會(huì)取到字符串末尾。
SELECT SUBSTR('hello world', 7, 20); -- 輸出:world
在MySQL中,還可以使用LEFT和RIGHT函數(shù)分別從字符串的左側(cè)和右側(cè)取出指定數(shù)量的字符。
SELECT LEFT('hello world', 5); -- 輸出:hello SELECT RIGHT('hello world', 5); -- 輸出:world
上述代碼將會(huì)分別輸出字符串“hello”和“world”,因?yàn)樗鼈兪菑摹癶ello world”左側(cè)和右側(cè)取出的指定數(shù)量的字符。
在MySQL中,還可以使用SUBSTRING_INDEX函數(shù)通過(guò)指定分隔符來(lái)截取字符串。例如,假設(shè)有一個(gè)存儲(chǔ)了人名和年齡的字符串“John,26”,可以使用SUBSTRING_INDEX函數(shù)取出人名和年齡。
SELECT SUBSTRING_INDEX('John,26', ',', 1); -- 輸出:John SELECT SUBSTRING_INDEX('John,26', ',', -1); -- 輸出:26
上述代碼將會(huì)分別輸出字符串“John”和“26”,因?yàn)樗鼈兪菑摹癑ohn,26”使用逗號(hào)分隔后的第一和最后一個(gè)字符串。