當(dāng)我們需要將一列數(shù)據(jù)分成多列來存儲時,可以使用MySQL中的子字符串函數(shù)來實現(xiàn)。
SELECT SUBSTRING(column_name, start_position, length) AS new_column_name FROM table_name;
其中,column_name
是要被拆分的列名,start_position
是開始位置的索引,length
是需要截取的長度。同時為了更好的區(qū)分新列,我們給它一個別名new_column_name
。
常見的拆分方式有:
SELECT SUBSTRING(column_name, 1, 4) AS col1, SUBSTRING(column_name, 5, 4) AS col2, SUBSTRING(column_name, 9) AS col3 FROM table_name;
這樣就可以將一列按照指定位置拆分成3列。其中第3列的長度默認(rèn)為剩余長度。
若要按照字符分割,可以使用MySQL中的SubstrIndex函數(shù)來實現(xiàn)。
SELECT SUBSTRING_INDEX(column_name, separator, occurrence) AS new_column_name FROM table_name;
其中,column_name
是要被拆分的列名,separator
是分隔符,occurrence
是第幾次出現(xiàn)分隔符。同時為了更好的區(qū)分新列,我們給它一個別名new_column_name
。
常見的按照字符分割方式有:
SELECT SUBSTRING_INDEX(column_name, ',', 1) AS col1, SUBSTRING_INDEX(SUBSTRING_INDEX(column_name, ',', 2), ',', -1) AS col2, SUBSTRING_INDEX(SUBSTRING_INDEX(column_name, ',', 3), ',', -1) AS col3 FROM table_name;
這樣就可以將一列按照逗號分隔成3列。