최종 테이블로 가져올 CSV 파일을 정리하기 위해 임시 테이블을 만들었습니다. CSV 파일을 사용자가 자유롭게 편집 할 수 있다는 가정하에 임시 테이블을 varchar 데이터 형식으로 만들었습니다.PostgreSQL에서 데이터 삽입시 문자열 값을 정수로 변환하는 방법은 무엇입니까?
임시 테이블이 VARCHAR을 모든 동안 만 정수 값 (예 : NETWORK_ID 및 AGENT_ID)을 받아 최종 테이블의 열이있는 내가 원치 않는 데이터를 걸러 일부 쿼리를 실행하지만 문제는 지금 데이터 형식.
INSERT INTO main_table
SELECT network_address,
network_alias,
CAST(network_id AS INTEGER),
CAST(agent_id AS INTEGER),
agent_name,
property_value
FROM dummy_table;
그러나 나는 오류가 발생 :
CREATE TABLE IF NOT EXISTS dummy_table(
network_address varchar(128),
network_alias varchar(64),
network_id varchar(64) NOT NULL,
agent_id varchar(64),
agent_name varchar(64) NOT NULL,
property_value varchar(128)
);
CREATE TABLE IF NOT EXISTS main_table(
network_address varchar(128),
network_alias varchar(64),
network_id int4 NOT NULL,
agent_id int4,
agent_name varchar(64) NOT NULL,
property_value varchar(128)
);
이 일을 나의 시도는 내가 어쩌면 내 캐스팅이 잘못된 혹은 더블 캐스팅이 필요하지만되는 것으로 의심
ERROR: column "network_id" is of type integer but expression is of type character
을 이 경우에 적용하는 방법에 대해서는 전혀 모른다. 귀하의 생각과 아이디어는 높이 평가 될 것입니다. 삽입을 할 때
잘못 입력했는데 이미 편집했습니다. 나는 또한 귀하의 솔루션을 시도하고 네, 내 문제를 해결. 고마워요! – Junior