Estas configuraciones están disponibles en system.settings y se generan automáticamente a partir del código fuente.
cast_ipv4_ipv6_default_on_conversion_error
Historial de versiones
| Versión | Valor predeterminado | Comentario |
|---|---|---|
| 22.3 | 0 | Hace que las funciones cast(value, 'IPv4') y cast(value, 'IPv6') se comporten igual que las funciones toIPv4 y toIPv6 |
El operador CAST a IPv4, el operador CAST al tipo IPv6 y las funciones toIPv4 y toIPv6 devolverán el valor predeterminado en lugar de lanzar una excepción si se produce un error de conversión.
cast_keep_nullable
Habilita o deshabilita la conservación del tipo de dato Nullable en las operaciones CAST.
Cuando esta configuración está habilitada y el argumento de la función CAST es Nullable, el resultado también se convierte en el tipo Nullable. Cuando está deshabilitada, el resultado siempre tiene exactamente el tipo de destino.
Valores posibles:
- 0 — El resultado de
CASTtiene exactamente el tipo de destino especificado. - 1 — Si el tipo del argumento es
Nullable, el resultado deCASTse convierte enNullable(DestinationDataType).
Ejemplos
La siguiente consulta devuelve exactamente el tipo de dato de destino:
SET cast_keep_nullable = 0;
SELECT CAST(toNullable(toInt32(0)) AS Int32) as x, toTypeName(x);Resultado:
┌─x─┬─toTypeName(CAST(toNullable(toInt32(0)), 'Int32'))─┐
│ 0 │ Int32 │
└───┴───────────────────────────────────────────────────┘La siguiente consulta aplica la modificación Nullable al tipo de datos de destino:
SET cast_keep_nullable = 1;
SELECT CAST(toNullable(toInt32(0)) AS Int32) as x, toTypeName(x);Resultado:
┌─x─┬─toTypeName(CAST(toNullable(toInt32(0)), 'Int32'))─┐
│ 0 │ Nullable(Int32) │
└───┴───────────────────────────────────────────────────┘Véase también
- CAST función