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 関数を使用して、update ステートメントを使用して名前と姓をそれぞれ新しいフィールド fname と lname に配置し、名前をスペースで区切ることができるように、テーブルを更新することです。

ただし、ステートメントの1つでも実行するのに苦労しています。

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 に答える