我有一些数据如下:
full_name
R Davies
N Powell
Harry S
A J Fulham
我想从第一个空格中拆分名称,然后将值插入到forename和surname中。所以它看起来如下:
forename surname
R Davies
N Powell
Harry S
A J Fulham
我编写的代码只是创建新列并删除旧列。我已设法创建一个将查看forename但我无法插入的select语句。 所以我需要代码将两个值都插入到新列中并获取姓氏。
ALTER TABLE names add forename varchar(100)
ALTER TABLE names add surname varchar(100)
UPDATE names
INSERT INTO names(forename)
SELECT split_part(full_name, ' ', 1) FROM names
ALTER TABLE names DROP COLUMN full_name;
答案 0 :(得分:1)
您仅需要UPDATE
:
UPDATE names
set forename = split_part(full_name, ' ', 1),
surname = split_part(full_name, ' ', 2)
insert
仅用于创建(插入)新的行。