Mysql是一個功能強大的數(shù)據(jù)庫管理系統(tǒng),支持多種數(shù)據(jù)類型和數(shù)據(jù)操作方法。當我們在處理某些數(shù)據(jù)時,可能需要將多列數(shù)據(jù)拆分成多行,這時我們可以使用Mysql內置的函數(shù)將多列數(shù)據(jù)轉換為多行數(shù)據(jù)。下面介紹幾種轉換函數(shù):
SELECT id, SUBSTRING_INDEX(SUBSTRING_INDEX(name,',',1),',',-1) AS name, SUBSTRING_INDEX(SUBSTRING_INDEX(name,',',2),',',-1) AS age, SUBSTRING_INDEX(SUBSTRING_INDEX(name,',',3),',',-1) AS sex FROM my_table;
以上SQL語句會將格式為"id,name,age,sex"的多列數(shù)據(jù)轉換為多行數(shù)據(jù)。
SELECT id, SUBSTR(name,1,LOCATE(',',name)-1) AS name, SUBSTR(name, LOCATE(',',name)+1,LOCATE(',',name,LOCATE(',',name)+1)-LOCATE(',',name)-1) AS age, SUBSTR(name, LOCATE(',',name,LOCATE(',',name)+1)+1) AS sex FROM my_table;
以上SQL語句將使用SUBSTR()函數(shù)將多列數(shù)據(jù)轉換為多行數(shù)據(jù)。
SELECT id, SUBSTRING_INDEX(name,',',1) AS name, SUBSTRING_INDEX(SUBSTRING_INDEX(name,',',2),',',-1) AS age, SUBSTRING_INDEX(SUBSTRING_INDEX(name,',',3),',',-1) AS sex FROM my_table;
以上SQL語句使用內置的SUBSTRING_INDEX()函數(shù)將多列數(shù)據(jù)轉換為多行數(shù)據(jù)。
以上就是幾種將多列數(shù)據(jù)拆分成多行數(shù)據(jù)的方法,根據(jù)實際需求選擇相應的方法即可。
上一篇mysql把幾行疊加
下一篇css搜索框固定不移動