본문으로 바로가기
본문으로 바로가기

CustomSeparated

입력출력별칭

설명

Template와 유사하지만, 모든 컬럼의 이름과 타입을 출력하거나 읽으며 format_custom_escaping_rule 설정의 이스케이프 규칙과 다음 설정에서 지정한 구분자를 사용합니다.

참고

포맷 문자열에 지정된 이스케이프 규칙 설정과 구분자는 사용하지 않습니다.

CustomSeparatedIgnoreSpaces 포맷도 있으며, TemplateIgnoreSpaces와 유사합니다.

사용 예

데이터 삽입

다음의 txt 파일 football.txt를 사용합니다.

row('2022-04-30';2021;'Sutton United';'Bradford City';1;4),row('2022-04-30';2021;'Swindon Town';'Barrow';2;1),row('2022-04-30';2021;'Tranmere Rovers';'Oldham Athletic';2;0),row('2022-05-02';2021;'Salford City';'Mansfield Town';2;2),row('2022-05-02';2021;'Port Vale';'Newport County';1;2),row('2022-05-07';2021;'Barrow';'Northampton Town';1;3),row('2022-05-07';2021;'Bradford City';'Carlisle United';2;0),row('2022-05-07';2021;'Bristol Rovers';'Scunthorpe United';7;0),row('2022-05-07';2021;'Exeter City';'Port Vale';0;1),row('2022-05-07';2021;'Harrogate Town A.F.C.';'Sutton United';0;2),row('2022-05-07';2021;'Hartlepool United';'Colchester United';0;2),row('2022-05-07';2021;'Leyton Orient';'Tranmere Rovers';0;1),row('2022-05-07';2021;'Mansfield Town';'Forest Green Rovers';2;2),row('2022-05-07';2021;'Newport County';'Rochdale';0;2),row('2022-05-07';2021;'Oldham Athletic';'Crawley Town';3;3),row('2022-05-07';2021;'Stevenage Borough';'Salford City';4;2),row('2022-05-07';2021;'Walsall';'Swindon Town';0;3)

사용자 정의 구분 기호를 설정합니다:

SET format_custom_row_before_delimiter = 'row(';
SET format_custom_row_after_delimiter = ')';
SET format_custom_field_delimiter = ';';
SET format_custom_row_between_delimiter = ',';
SET format_custom_escaping_rule = 'Quoted';

데이터를 삽입하십시오:

INSERT INTO football FROM INFILE 'football.txt' FORMAT CustomSeparated;

데이터 읽기

사용자 정의 구분 기호를 설정합니다:

SET format_custom_row_before_delimiter = 'row(';
SET format_custom_row_after_delimiter = ')';
SET format_custom_field_delimiter = ';';
SET format_custom_row_between_delimiter = ',';
SET format_custom_escaping_rule = 'Quoted';

CustomSeparated 형식을 사용해 데이터를 읽습니다:

SELECT *
FROM football
FORMAT CustomSeparated

출력은 구성해 둔 사용자 정의 형식으로 제공됩니다:

row('2022-04-30';2021;'Sutton United';'Bradford City';1;4),row('2022-04-30';2021;'Swindon Town';'Barrow';2;1),row('2022-04-30';2021;'Tranmere Rovers';'Oldham Athletic';2;0),row('2022-05-02';2021;'Port Vale';'Newport County';1;2),row('2022-05-02';2021;'Salford City';'Mansfield Town';2;2),row('2022-05-07';2021;'Barrow';'Northampton Town';1;3),row('2022-05-07';2021;'Bradford City';'Carlisle United';2;0),row('2022-05-07';2021;'Bristol Rovers';'Scunthorpe United';7;0),row('2022-05-07';2021;'Exeter City';'Port Vale';0;1),row('2022-05-07';2021;'Harrogate Town A.F.C.';'Sutton United';0;2),row('2022-05-07';2021;'Hartlepool United';'Colchester United';0;2),row('2022-05-07';2021;'Leyton Orient';'Tranmere Rovers';0;1),row('2022-05-07';2021;'Mansfield Town';'Forest Green Rovers';2;2),row('2022-05-07';2021;'Newport County';'Rochdale';0;2),row('2022-05-07';2021;'Oldham Athletic';'Crawley Town';3;3),row('2022-05-07';2021;'Stevenage Borough';'Salford City';4;2),row('2022-05-07';2021;'Walsall';'Swindon Town';0;3)

포맷 설정

추가 설정:

Setting설명기본값
input_format_custom_detect_header헤더에 이름과 타입이 있을 경우 이를 자동으로 감지합니다.true
input_format_custom_skip_trailing_empty_lines파일 끝에 있는 후행 빈 줄을 건너뜁니다.false
input_format_custom_allow_variable_number_of_columnsCustomSeparated 포맷에서 가변적인 컬럼 개수를 허용하며, 초과 컬럼은 무시하고 누락된 컬럼에는 기본값을 사용합니다.false