我有一个表ML,列Klubs:

mysql - 在MySQL中将列分为具有不同字符串计数的两列-LMLPHP

我想拆分此列,所以我有两个这样的列。新表名ML2和列名Region。

如果第一列与第二列单词不同,则可以包含2个单词。

mysql - 在MySQL中将列分为具有不同字符串计数的两列-LMLPHP

我是MySQL的新手,在stackoverflow和Internet上进行了全面搜索,但是没有运气。

如何将表1中的表ML中的列Klubs拆分为表2中的两列的新表ML2?

最佳答案

假设您的第二列不包含任何空格,我们可以搜索最后一个空格的位置,然后在其中拆分:

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(ML2):

create table ML2
<the query>


create a view

create view ML2 as
<the query>

07-28 09:11