在MySQL中将列拆分为两列,具有不同的字符串计数

时间:2016-04-20 09:46:17

标签: mysql sql split

我有一张桌子ML,栏目是Klubs:

table

我想拆分此列,因此我有两列这样的列。新表名称ML2和列名称Region。

如果第一列与第二列字不同,则可以有2个字。

desired output

我是MySQL的新手,搜遍了所有的stackoverflow和互联网,但没有运气。

如第2张图片所示,如何将表格ML中的列Klubs分割成第2张图片中的2列新表格ML2?

1 个答案:

答案 0 :(得分: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函数,然后补偿我用字符串的长度减去它{ {3}}

您可以将其插入char_length(ML2):

create table ML2
<the query>

new table

create view ML2 as
<the query>