使用现有字段和函数更新语句

时间:2012-11-21 18:29:57

标签: sql postgresql sql-update sql-function

我有一个带有名字字段的表,其名字和姓氏用空格隔开。

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

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语句,并用名称中的空格分隔

然而,我正在努力争取其中一个陈述。

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

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

我玩过子查询但仍然没有成功,如果你能提供帮助,请告诉我!

1 个答案:

答案 0 :(得分:1)

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