我有一张桌子ML,栏目是Klubs:
我想拆分此列,因此我有两列这样的列。新表名称ML2和列名称Region。
如果第一列与第二列字不同,则可以有2个字。
我是MySQL的新手,搜遍了所有的stackoverflow和互联网,但没有运气。
如第2张图片所示,如何将表格ML中的列Klubs分割成第2张图片中的2列新表格ML2?
答案 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>
create view ML2 as
<the query>