탭으로 구분된 데이터 파일을 생성하기 위한 SQL Plus 설정
주어진 sql 쿼리를 스프레드시트로 가져오거나 추가 처리를 위해 탭으로 구분된 출력으로 변환하는 데 도움이 되는 sqlplus 구성 지침 세트를 가진 사람이 있습니까?
저스틴이 그의 링크에서 지적했듯이, 사용하는 것은set colsep
function SQLPlus 명령을 사용하면 각 열에 대해 구분 기호를 입력할 수 있습니다.
하지만 탭 구분의 경우,set colsep Chr(9)
작동하지 않습니다.
UNIX 또는 LINUX의 경우 사용set colsep ' '
단일 탭 사이의 공백은 입력된 탭입니다.
Windows의 경우 다음 설정을 사용합니다.
col TAB# new_value TAB NOPRINT
select chr(9) TAB# from dual;
set colsep "&TAB"
select * from table;
한 번 이상 훔쳐본 특정 스크립트는 데이터를 플랫 파일로 추출할 때 AskTom 스레드에서 가져온 것입니다.SQL*Plus에서 빠르고 더러운 플랫 파일이 필요한 경우.하지만 진행 중인 프로세스를 위해서는 Tom이 이전에 스레드에 게시한 DUMP_CSV 함수를 선호합니다.
바보 같은 해결책이 있어요아주 잘 작동했습니다.
해결책
SELECT column1 || CHR(9) || column2 || CHR(9) || column3 ... ...
FROM table
이면의 원칙.
사실, 그건 그냥 끈 연결일 뿐입니다.
CHR(9) -> '\t'
column1 || CHR(9) || column2 -> concat (column1, '\t', column2)
탭 문자는 보이지 않지만, 다음을 입력하면:-
set clsep Z
그러나 Z 대신 키보드에서 Tab 키를 누른 다음 Enter 키를 누르면 작동합니다. SQL Plus는 공백(보이지 않는 탭) 다음 문자가 clsep임을 인식합니다.
모든 설정을 /cli.sql이라는 파일에 넣었기 때문에 이렇게 합니다.
@/cli.sql
전부 싣기 위해서요
set serveroutput on
SET NEWPAGE NONE
set feedback off
set echo off
set feedback off
set heading off
set colsep
set pagesize 0
SET UNDERLINE OFF
set pagesize 50000
set linesize 32767
connect use/password
(주의 - 줄 끝에 보이지 않는 공백 뒤에 보이지 않는 탭이 있습니다:)
set colsep
맛있게 드세요!
Oracle 설명서를 확인하십시오.
Oracle에서 탭의 ASCII 값 9와 chr 함수를 사용하여 탭을 생성할 수 있습니다.
select chr(9) from dual;
언급URL : https://stackoverflow.com/questions/106323/sqlplus-settings-to-generate-tab-separated-data-file
'programing' 카테고리의 다른 글
그라들 사용법.자바와 그루비가 함께? (0) | 2023.07.13 |
---|---|
몽구스 스키마를 동적으로 생성하는 방법은 무엇입니까? (0) | 2023.07.13 |
Oracle 11g 서버에서 시작 링크가 작동하지 않음 (0) | 2023.07.08 |
JavaScript:ASP.NET 코드백에서 Alert.Show(메시지) (0) | 2023.07.08 |
스프링 부트: 동적 상위 개체에서 JSON 응답 래핑 (0) | 2023.07.08 |