2016-12-06 13 views
0

수천 개의 레코드가 있고 각 레코드에 여러 개의 열이있는 데이터가 있습니다. 열 중 하나에 데이터가있는 경우 구두점은 ","입니다.데이터를 내보낼 때 얻은대로 데이터를 가져 오는 명령 줄을 원합니다.

델타를 쉼표로 사용하여 데이터를 CSV 파일 및 텍스트 데이터로 스풀링하려고 시도했을 때 데이터 자체에 쉼표가 있기 때문에 데이터가 부적절한 것 같습니다.

TOAD을 통해 데이터를 내보낼 때 모양이있는 명령 줄을 사용하여 데이터를 내보낼 수있는 솔루션을 찾고 있습니다.

도움을 주시면 감사하겠습니다.

참고 : 나는이 솔루션을 며칠 동안 찾고 있었지만 여기에 게시 할 기회가되었습니다.

+0

가장 초기의 도움이 많이 주어진다. – user2075017

답변

0

Toad에서 데이터 세트를 내보낼 때 쉼표가 아닌 구분 기호를 선택하거나 "문자열 인용"드롭 다운 상자를 드롭 다운하고 "NULLS를 포함한 큰 따옴표 문자열"을 선택하십시오. 오

당신이 출력을 스풀링하는 경우, 당신은 큰 따옴표와 쉼표가 포함 된 열을 포위하기 위해이 같은 당신의 선택 문에 따옴표를 추가해야합니다 기다립니다

select '"' || column || '"' as column from table; 

이를 형식은 꽤 표준이지만 대신 파이프를 구분 기호로 사용하고 문자열을 큰 따옴표로 묶지 않아도 공간을 절약 할 수 있습니다. 데이터 소비자가 실제로 필요로하는 것에 달렸습니다.

+0

답장을 보내 주셔서 감사합니다. Gary.I는 실제로 쉼표가있는 대량의 데이터를 찾고 있었으며 대신'select * from tablename'을 사용합니다. 내 쿼리를 바꾸어 보겠습니다. 데이터를 내보내기 위해 두꺼비를 사용하고 싶지는 않지만 스풀과 같은 명령 줄 옵션을 사용하여 두꺼비에서 추출한 것과 똑같은 결과를 얻고 싶었습니다. – user2075017

+1

예. SELECT *를 열 목록으로 바꾸는 것이 가장 좋습니다. 어쨌든 쉼표가 포함될 가능성이있는 열을 따옴표로 묶어야합니다. 위의 예를 더 잘 보여주기 위해 수정합니다. –

+0

Gary_W, * 여러 열로 대체했을 것입니다. 그러나 열 목록이 더 많아서 옵션을 사용할 수 없을 수도 있습니다. 내 목표는 동일한 CSV 형식으로 동일한 출력을 얻는 것입니다. 'TOAD '를 통해 추출되면 출력이 뛰어납니다. – user2075017