Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

cast_* セッション設定

これらの設定は、system.settingsで利用でき、ソースから自動生成されています。

cast_ipv4_ipv6_default_on_conversion_error

Bool
デフォルト値
0
バージョン履歴
バージョンデフォルト値コメント
22.30cast(value, 'IPv4') および cast(value, 'IPv6') 関数が、toIPv4 関数および toIPv6 関数と同様に動作するようにする

IPv4 への CAST 演算子、IPv6 型への CAST 演算子、toIPv4 関数、および toIPv6 関数は、変換エラー時に例外をスローする代わりにデフォルト値を返します。

cast_keep_nullable

Bool
デフォルト値
0

CAST 操作で Nullable データ型を保持するかどうかを設定します。

この設定を有効にしていて、CAST 関数の引数が Nullable の場合、結果も Nullable 型に変換されます。この設定が無効な場合、結果は常に宛先の型そのものになります。

設定可能な値:

  • 0 — CAST の結果は、指定した宛先の型そのものになります。
  • 1 — 引数の型が Nullable の場合、CAST の結果は Nullable(DestinationDataType) に変換されます。

次のクエリでは、結果は宛先のデータ型そのものになります。

SET cast_keep_nullable = 0;
SELECT CAST(toNullable(toInt32(0)) AS Int32) as x, toTypeName(x);

結果:

┌─x─┬─toTypeName(CAST(toNullable(toInt32(0)), 'Int32'))─┐
│ 0 │ Int32                                             │
└───┴───────────────────────────────────────────────────┘

次のクエリの結果、宛先のデータ型に Nullable 修飾子が適用されます。

SET cast_keep_nullable = 1;
SELECT CAST(toNullable(toInt32(0)) AS Int32) as x, toTypeName(x);

結果:

┌─x─┬─toTypeName(CAST(toNullable(toInt32(0)), 'Int32'))─┐
│ 0 │ Nullable(Int32)                                   │
└───┴───────────────────────────────────────────────────┘

関連項目

Navigation