Essas configurações estão disponíveis em system.settings e são geradas automaticamente a partir do código-fonte.
cast_ipv4_ipv6_default_on_conversion_error
Histórico de versões
| Versão | Valor padrão | Comentário |
|---|---|---|
| 22.3 | 0 | Faz com que as funções cast(value, 'IPv4') e cast(value, 'IPv6') se comportem da mesma forma que as funções toIPv4 e toIPv6 |
O operador CAST para IPv4, o operador CAST para o tipo IPv6 e as funções toIPv4 e toIPv6 retornarão o valor padrão em vez de gerar uma exceção em caso de erro de conversão.
cast_keep_nullable
Habilita ou desabilita a preservação do tipo de dado Nullable em operações CAST.
Quando essa configuração está habilitada e o argumento da função CAST é Nullable, o resultado também é convertido para o tipo Nullable. Quando a configuração está desabilitada, o resultado sempre tem exatamente o tipo de destino.
Valores possíveis:
- 0 — O resultado de
CASTtem exatamente o tipo de destino especificado. - 1 — Se o tipo do argumento for
Nullable, o resultado deCASTé convertido paraNullable(DestinationDataType).
Exemplos
A consulta a seguir resulta exatamente no tipo de dado 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 │
└───┴───────────────────────────────────────────────────┘A consulta a seguir resulta na modificação Nullable do tipo de dados 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) │
└───┴───────────────────────────────────────────────────┘Veja também
- CAST função