2017-03-10 53 views
0

我有mysql表 項目 並沒有叫 item_location 值一列這樣的格式 數數數改變文本

'1-22-5', 
'6-19-44', 

等.. 怎麼可能我讓MySQL的每個號碼分開來新列 ,正如我需要爆炸item_location到三列 item_location

'1-22-5', 
'6-19-44', 

item_location,item_area,item_row 
1,22,5 
6,19,44 

,併爲所有的記錄做多數民衆贊成.. 感謝

回答

0

假設你列被命名爲my_col。你可以使用一些SUBSTRING_INDEX分離用柱

select 
     SUBSTRING_INDEX(my_col, '-',1) as item_location 
     , SUBSTRING_INDEX(SUBSTRING_INDEX(my_col, '-',2), '-' -1) as item_area 
     , SUBSTRING_INDEX(my_col, '-',-1) as item_row 
    from my_table 
0

可以插入在新表中按以下方式拆分列數據:

INSERT INTO TABLE (item_location,item_area,item_row) 
SELECT SUBSTRING_INDEX(SUBSTRING_INDEX('your_column', '-', 1), '-', -1), 
     SUBSTRING_INDEX(SUBSTRING_INDEX('your_column', '-', 2), '-', -1), 
     SUBSTRING_INDEX(SUBSTRING_INDEX('your_column', '-', 3), '-', -1) 
FROM single_column_table