2012-11-21 2 views
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 문을 사용하고 이름의 공백으로 구분됩니다.

그러나 저는 명령문 중 하나라도 실행하는 데 어려움을 겪고 있습니다.

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

나는 테이블의 각 행에 대해이 작업을 수행하는 쿼리를 받고 고민하고, 나는 공간 이후 성을 얻을 필요가 있기 때문에 나는 또한, 성을 접근하는 방법을 확실입니다.

하위 쿼리를 사용했지만 아직 성공하지 못 했으니 도와주세요.

답변

1

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