> ## Documentation Index
> Fetch the complete documentation index at: https://clickhouse.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# paramètres de session cast_*

> Paramètres de session ClickHouse du groupe généré cast_*.

export const SettingsInfoBlock = ({type, default_value, changeable_without_restart}) => {
  return <div className="not-prose" style={{
    display: "flex",
    flexWrap: "wrap",
    alignItems: "baseline",
    columnGap: "0.5rem",
    rowGap: "0.125rem",
    margin: "0.375rem 0",
    fontSize: "0.8125rem",
    lineHeight: "1.125rem"
  }}>
      <div style={{
    fontWeight: 600,
    opacity: 0.72
  }}>Type</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{type}</div>
      <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>Par défaut</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{default_value}</div>
      {changeable_without_restart && <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>
          Modifiable sans redémarrage
        </div>}
      {changeable_without_restart && <div style={{
    overflowWrap: "anywhere"
  }}>
          {changeable_without_restart}
        </div>}
    </div>;
};

Ces paramètres sont disponibles dans [system.settings](/docs/fr/reference/system-tables/settings) et sont générés automatiquement à partir du [source](https://github.com/ClickHouse/ClickHouse/blob/master/src/Core/Settings.cpp).

<div id="cast_ipv4_ipv6_default_on_conversion_error">
  ## cast\_ipv4\_ipv6\_default\_on\_conversion\_error
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "22.3"},{"label": "0"},{"label": "Les fonctions cast(value, 'IPv4') et cast(value, 'IPv6') se comportent désormais comme les fonctions toIPv4 et toIPv6"}]}]} />

L'opérateur CAST vers IPv4, l'opérateur CAST vers le type IPv6, ainsi que les fonctions toIPv4 et toIPv6, renverront la valeur par défaut au lieu de lever une exception en cas d'erreur de conversion.

<div id="cast_keep_nullable">
  ## cast\_keep\_nullable
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

Active ou désactive la conservation du type de données `Nullable` dans les opérations [CAST](/docs/fr/reference/functions/regular-functions/type-conversion-functions#CAST).

Lorsque ce paramètre est activé et que l'argument de la fonction `CAST` est `Nullable`, le résultat est lui aussi converti en type `Nullable`. Lorsque ce paramètre est désactivé, le résultat a toujours exactement le type de destination.

Valeurs possibles :

* 0 — Le résultat de `CAST` a exactement le type de destination spécifié.
* 1 — Si le type de l'argument est `Nullable`, le résultat de `CAST` est converti en `Nullable(DestinationDataType)`.

**Exemples**

La requête suivante renvoie exactement le type de données de destination :

```sql theme={null}
SET cast_keep_nullable = 0;
SELECT CAST(toNullable(toInt32(0)) AS Int32) as x, toTypeName(x);
```

Résultat :

```text theme={null}
┌─x─┬─toTypeName(CAST(toNullable(toInt32(0)), 'Int32'))─┐
│ 0 │ Int32                                             │
└───┴───────────────────────────────────────────────────┘
```

La requête suivante applique la modification `Nullable` au type de données de destination :

```sql theme={null}
SET cast_keep_nullable = 1;
SELECT CAST(toNullable(toInt32(0)) AS Int32) as x, toTypeName(x);
```

Résultat :

```text theme={null}
┌─x─┬─toTypeName(CAST(toNullable(toInt32(0)), 'Int32'))─┐
│ 0 │ Nullable(Int32)                                   │
└───┴───────────────────────────────────────────────────┘
```

**Voir aussi**

* [CAST](/docs/fr/reference/functions/regular-functions/type-conversion-functions#CAST) fonction
