SQL拆分列数据

sql split

1541 观看

2回复

1005 作者的声誉

我在我的表中有一个列调用display name,数据看起来像这样John Smith我想看看是否有分离数据如下:

display name as first name => John, display name as last name => Smith

这可能吗?

作者: user1269625 的来源 发布者: 2013 年 1 月 29 日

回应 2


2

55606 作者的声誉

决定

假设MySQL,如果你总是只有一个空格,这样的东西应该可以工作。

SELECT Substr(name, 1, Instr(name, ' ')) as FirstName,
   Substr(name, Instr(name, ' ')) as LastName
FROM DisplayName

下面是一些示例小提琴,向您展示它是如何工作的(当它没有时)。

祝好运。

作者: sgeddes 发布者: 2013 年 1 月 29 日

0

1 作者的声誉

这个常见问题有多种解决方案可供选择。如果您只是查询数据库,则可以使用@sgeddes提供的示例。

现在,如果您想从该查询获取值并将其放入其自己的列中,您将需要创建一个新列;

alter table table_name
add column first_name varchar(30) COLLATE utf8_unicode_ci DEFAULT NULL
after col_name;

⬆️after语句可帮助您选择新列的位置。

然后,您可以使用update语句更新所述列;

update table_name
set first_name = SUBSTRING_INDEX(SUBSTRING_INDEX(display_name, ' ', 1), ' ', -1)

这对我有用。祝你好运🍀

作者: ra1fee 发布者: 2018 年 11 月 7 日
32x32