メインコンテンツへスキップ
メインコンテンツへスキップ

CustomSeparated

InputOutputAlias

説明

Template と似ていますが、すべての列名と列の型を出力または読み取りを行い、format_custom_escaping_rule 設定で指定されたエスケープ規則と、次の設定で指定されたデリミタを使用します。

注記

フォーマット文字列に定義されたエスケープ規則やデリミタは使用しません。

CustomSeparatedIgnoreSpaces というフォーマットもあり、これは TemplateIgnoreSpaces と似ています。

使用例

データの挿入

以下の内容の football.txt という 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