當(dāng)我們在使用mysql進(jìn)行數(shù)據(jù)處理時(shí),有時(shí)需要按指定字符串截取一個(gè)字段,這時(shí)可以使用mysql的SUBSTRING函數(shù)。
SELECT SUBSTRING(字段名, 起始位置, 截取長度) FROM 表名;
其中,SUBSTRING函數(shù)用于截取指定字符串,第一個(gè)參數(shù)是需要截取的字段名;第二個(gè)參數(shù)是起始位置,從1開始計(jì)數(shù);第三個(gè)參數(shù)是截取長度。
例如,我們有一個(gè)表名為students,其中有一個(gè)名為name的字段,其中存儲(chǔ)的數(shù)據(jù)格式為“姓-名”,現(xiàn)在需要將名字截取出來。
SELECT SUBSTRING(name, INSTR(name, '-')+1) FROM students;
上述語句中,INSTR函數(shù)用于查找“-”的位置,然后加1得到起始位置,這樣就可以將“-”后的名字截取出來。
如果我們想將姓名拆開成姓和名,則可以使用SUBSTRING_INDEX函數(shù)。
SELECT SUBSTRING_INDEX(name, '-', 1) as 姓, SUBSTRING_INDEX(name, '-', -1) as 名 FROM students;
上述語句中,SUBSTRING_INDEX函數(shù)用于按-符號(hào)拆分,第一個(gè)參數(shù)是需要截取的字符串,第二個(gè)參數(shù)為分割符,第三個(gè)參數(shù)為需要返回的分割后的部分,1為分割后的前半部分,-1為分割后的后半部分。
通過使用上述函數(shù),我們可以很方便地按指定字符串截取mysql中的字段。