これらの設定は、system.settingsで利用でき、ソースから自動生成されています。
cast_ipv4_ipv6_default_on_conversion_error
型
Bool
デフォルト値
0
バージョン履歴
| バージョン | デフォルト値 | コメント |
|---|---|---|
| 22.3 | 0 | cast(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) │
└───┴───────────────────────────────────────────────────┘関連項目
- CAST 関数