0

我有一个带有名称字段的表,其中包含由空格分隔的名字和姓氏。

这是我正在使用的简单测试数据:

DROP TABLE IF EXISTS students;
CREATE TABLE students (
name text,
major text,
gpa float
);
INSERT INTO students
VALUES ('John Smith', 'CS', 3.7),
('Sara Li', 'History', 3.4),
('Mike Adams', NULL, 2.6);

我的目标是更新表,以便我可以使用 Postgresql 中的 split_part 函数将名字和姓氏分别放入新字段 fname 和 lname 中,使用更新语句,并由名称中的空格分隔。

但是,我正在努力让其中一个语句运行。

UPDATE students SET first_name = split_part(name, ' '); 

我正在努力让查询为表中的每一行执行此操作,而且我也不确定如何处理姓氏,因为我需要获取空格之后的姓氏。

我已经玩过子查询,但仍然没有成功,如果你能帮忙,请告诉我!

4

1 回答 1

1

尝试

UPDATE students SET first_name = split_part(name, ' ', 1); 
于 2012-11-21T18:33:00.023 回答