2016-04-20 53 views
0

我有一個表ML,其列Klubs:拆分列到兩列不同的字符串數在MySQL

table

我想拆分此列,因此我有兩列這樣的。新表名稱ML2和列名稱Region。

如果第一列與第二列字不同,可以包含2個字。

desired output

我新的MySQL和找遍了計算器和互聯網,但沒有運氣。

如何將第一張圖片中的列表ML與第二張圖片中的兩列分割成新的表格ML2?

+0

它是一種一次性的工作? – NishantMittal

+0

我覺得不行!這只是列的一部分!所有的桌子都有128行! –

+0

真的嗎?你要編寫一個程序來更新數據庫中的128行?使用文本編輯器修改CSV摘要或使用電子表格來生成單個狀態,如'UPDATE yourtable SET coil1 ='Toronto',col2 ='Praptors'WHERE col1 ='Toronto Raptors'' – symcbean

回答

0

假設你的第二個列不包含任何空格,我們可以搜索最後空間的位置,然後拆分有:

SELECT Klubs, 
substr(Klubs, 1, char_length(Klubs) - instr(reverse(Klubs),' ')) as Region, 
substr(Klubs, char_length(Klubs) - instr(reverse(Klubs),' ')+2) as Club 
FROM ML; 

我搜索與instr的空間,而要做到這反向我首先使用字符串上的reverse函數,然後補償我從char_length字符串的長度中減去它。

你可以在new table(×2)插入:

create table ML2 
<the query> 

create a view

create view ML2 as 
<the query> 
+0

**謝謝!所有的桌子! –