2017-04-14 5 views
0

NULL이어야하는 값이 단순히 비어있는 CSV 파일을로드하려고합니다.MonetDB에서 빈 값으로 CSV로드

CREATE TABLE test (
    float a, 
    float b, 
    float c 
); 

나는이처럼 보이는 파일을로드하는 것을 시도하고있다 (일부 행에는 NULL 값이 없을 수를, 다른 사람들이 몇 가지있을 수 있습니다) : 예를 들어, 다음 스키마를 고려하십시오.

1.0,1.2,1.3 
1.4,,1.5 
1.6,,, 
1.9,2.0,1.2 

나는 빈 필드를 싶습니다 (예를 들어, 두 번째 행의 두번째 필드는) 데이터베이스에 NULL이 될 수 있습니다.

COPY INTO table from '/path/to/file.csv' USING DELIMITERS ',','\n','"' NULL AS ''; 

나는 다음과 같은 오류가 무엇입니까 :

Failed to import table line 2 field b 'double' expected in '' 

내가 부하 명령에 무엇을 전달되어야한다 (다른 내가 CSV 파일을로드하려면 다음 명령을 사용하고

NULL AS보다 '')?

답변

0

아니요, 올바르게 수행하는 것 같습니다. 나는 당신의 시험을 반복하려고 노력했고 그것은 나를 위해 일합니다. 귀하의 오류는 NULL AS의 부분을 생략 할 경우에만 발생하는 것으로 보입니다.

CREATE TABLE test (
    a float, 
    b float, 
    c float 
); 

COPY INTO test from '/path/to/file.csv' USING DELIMITERS ',','\n','"' NULL AS ''; 

을 그리고 당신의 파일에서 당신은 추가 ','문자를 제거해야합니다 :

사용자가 제공 한 코드에서 몇 가지 사소한 오류가 있습니다, 올바른 코드가 될 것이다

1.0,1.2,1.3 
1.4,,1.5 
1.6,, 
1.9,2.0,1.2 

하는 경우를 이 작업이 실패하면 MonetDB 버전을 업데이트하십시오.