| 入力 | 出力 | エイリアス |
|---|---|---|
| ✔ | ✔ |
説明
Values フォーマットでは、各行は括弧で囲んで出力されます。
- 行はカンマで区切られ、最後の行の後にはカンマは付きません。
- 括弧内の値もカンマ区切りです。
- 数値は引用符なしの10進数形式で出力されます。
- Array は
[]で出力されます。 - 文字列、日付、および時刻を含む日付は引用符付きで出力されます。
- エスケープ規則とパースは TabSeparated フォーマットと似ています。
NULL は NULL として表されます。
Values フォーマットでデータを渡す際にエスケープする必要がある最小限の文字は、次のとおりです。
- シングルクォート
- バックスラッシュ
INSERT INTO t VALUES ... で使用されるフォーマットですが、クエリ結果のフォーマットにも使用できます。
使用例
データの挿入
Values フォーマットは INSERT で使用されるため、INSERT ... VALUES ステートメントでは
すでにこのフォーマットが使われています。FORMAT Values 句を明示的に指定することもでき、
行はストリームやファイルから与えられます。各行は角括弧で囲まれた
カンマ区切りのタプルで表され、タプル同士もカンマで区切られます:
Query
Response
入力時に式を使用する
Values ではリテラルだけでなく、各フィールド内で SQL 式を評価できます。これは
input_format_values_interpret_expressions で制御されており (既定で
有効) 、フィールドを高速ストリーミングパーサーで読み取れない場合、ClickHouse
は SQL パーサーにフォールバックして、そのフィールドを式として解釈します。
Query
Response
データの選択
Values フォーマットは、クエリ結果の出力にも使用できます。数値は引用符なしで記述し、配列は []、文字列と日付はシングルクォートで囲みます。文字列内のシングルクォートとバックスラッシュは、バックスラッシュでエスケープします。NULL は NULL と記述します。
Query
Response
フォーマット設定
| 設定 | 説明 | デフォルト |
|---|---|---|
input_format_values_interpret_expressions | フィールドをストリーミングパーサーでパースできない場合、SQLパーサーを実行し、それを SQL 式として解釈できるか試みます。 | true |
input_format_values_deduce_templates_of_expressions | フィールドをストリーミングパーサーでパースできない場合、SQLパーサーを実行して SQL 式のテンプレートを推定し、そのテンプレートを使ってすべての行のパースを試みたうえで、すべての行の式を解釈します。 | true |
input_format_values_accurate_types_of_literals | テンプレートを使って式をパースおよび解釈する際、オーバーフローや精度の問題を避けるため、リテラルの実際の型を確認します。 | true |