我的表格中有一个名为display name
的列,数据看起来像John Smith
我想查看是否有分离数据的情况如下:
display name as first name => John, display name as last name => Smith
这可能吗?
答案 0 :(得分:2)
假设MySQL,如果你总是只有一个空间,这样的东西应该可以工作。
SELECT Substr(name, 1, Instr(name, ' ')) as FirstName,
Substr(name, Instr(name, ' ')) as LastName
FROM DisplayName
以下是一些示例Fiddle,它向您展示了它的工作原理(以及它的工作原理)。
祝你好运。答案 1 :(得分:0)
针对此常见问题有多种解决方案。如果仅查询数据库,则可以使用@sgeddes提供的示例。
现在,如果您想采用从该查询中获得的值并将其放在自己的列中,则需要创建一个新列;
alter table table_name
add column first_name varchar(30) COLLATE utf8_unicode_ci DEFAULT NULL
after col_name;
⬆️after语句可帮助您选择新列的位置。
然后您可以使用一条更新语句来更新该列;
update table_name
set first_name = SUBSTRING_INDEX(SUBSTRING_INDEX(display_name, ' ', 1), ' ', -1)
这对我有用。祝你好运