Эти настройки доступны в system.settings и автоматически генерируются на основе исходного кода.
cast_ipv4_ipv6_default_on_conversion_error
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 22.3 | 0 | Функции cast(value, 'IPv4') и cast(value, 'IPv6') ведут себя так же, как функции toIPv4 и toIPv6 |
Оператор CAST в IPv4, оператор CAST в тип IPv6, а также функции toIPv4 и toIPv6 будут возвращать значение по умолчанию вместо того, чтобы генерировать исключение при ошибке преобразования.
cast_keep_nullable
Включает или отключает сохранение типа данных Nullable в операциях CAST.
Если параметр включен и аргумент функции 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 функци