> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-mintlify-8c05c8a2.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> Documentation sur le format Values

# Values

| Entrée | Sortie | Alias |
| ------ | ------ | ----- |
| ✔      | ✔      |       |

<div id="description">
  ## Description
</div>

Le format `Values` affiche chaque ligne entre parenthèses.

* Les lignes sont séparées par des virgules, sans virgule après la dernière.
* Les valeurs à l’intérieur des parenthèses sont elles aussi séparées par des virgules.
* Les nombres sont affichés au format décimal, sans guillemets.
* Les tableaux sont affichés dans `[]`.
* Les chaînes, les dates et les dates avec heure sont affichées entre guillemets.
* Les règles d’échappement et l’analyse sont similaires à celles du format [TabSeparated](/fr/reference/formats/TabSeparated/TabSeparated).

Lors du formatage, aucun espace supplémentaire n’est inséré, mais lors de l’analyse, les espaces sont autorisés et ignorés (sauf à l’intérieur des valeurs de tableau, où ils ne sont pas autorisés).
[`NULL`](/fr/reference/syntax) est représenté par `NULL`.

Jeu minimal de caractères à échapper lors de la transmission de données au format `Values` :

* apostrophes
* barres obliques inverses

C’est le format utilisé dans `INSERT INTO t VALUES ...`, mais vous pouvez également l’utiliser pour le formatage du résultat de la requête.

<div id="example-usage">
  ## Exemple d’utilisation
</div>

<div id="inserting-data">
  ### Insertion de données
</div>

Le format `Values` est celui utilisé par `INSERT`, donc toute instruction `INSERT ... VALUES`
l'utilise déjà. La clause `FORMAT Values` peut être indiquée explicitement, et les
lignes peuvent être fournies à partir d'un flux ou d'un fichier. Chaque ligne est un tuple
entre parenthèses, dont les éléments sont séparés par des virgules, les tuples eux-mêmes
étant séparés par des virgules :

```sql title="Query" theme={null}
CREATE TABLE t (id UInt32, name String, values Array(UInt32)) ENGINE = Memory;

INSERT INTO t FORMAT Values (1, 'a', [10, 20]), (2, 'b', [30]);

SELECT * FROM t ORDER BY id;
```

```response title="Response" theme={null}
┌─id─┬─name─┬─values──┐
│  1 │ a    │ [10,20] │
│  2 │ b    │ [30]    │
└────┴──────┴─────────┘
```

<div id="using-expressions">
  ### Utilisation des expressions en entrée
</div>

Contrairement à la plupart des formats d’entrée, `Values` peut évaluer des expressions SQL dans chaque champ,
au lieu d’accepter uniquement des littéraux. Ce comportement est contrôlé par
[`input_format_values_interpret_expressions`](#format-settings) (activé par
défaut) : lorsqu’un champ ne peut pas être lu par le parseur de streaming rapide, ClickHouse
bascule vers le parseur SQL et interprète le champ comme une expression.

```sql title="Query" theme={null}
CREATE TABLE prices (item String, total UInt32) ENGINE = Memory;

INSERT INTO prices FORMAT Values ('apple', 3 * 4), ('pear', length('hello') + 10);

SELECT * FROM prices ORDER BY total;
```

```response title="Response" theme={null}
┌─item──┬─total─┐
│ apple │    12 │
│ pear  │    15 │
└───────┴───────┘
```

<div id="selecting-data">
  ### Sélection des données
</div>

Le format `Values` peut également être utilisé pour formater les résultats de la requête. Les nombres sont
écrits sans guillemets, les tableaux entre `[]`, et les chaînes ainsi que les dates entre apostrophes simples ;
les apostrophes et les barres obliques inverses à l’intérieur des chaînes sont précédées d’une barre oblique inverse, et
[`NULL`](/fr/reference/syntax) s’écrit `NULL` :

```sql title="Query" theme={null}
SELECT 1 AS a, 'O''Reilly' AS b, NULL::Nullable(String) AS c FORMAT Values;
```

```response title="Response" theme={null}
(1,'O\'Reilly',NULL)
```

<div id="format-settings">
  ## Paramètres de format
</div>

| Paramètre                                                                                                                                   | Description                                                                                                                                                                                                                                   | Par défaut |
| ------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------- |
| [`input_format_values_interpret_expressions`](/fr/reference/settings/formats#input_format_values_interpret_expressions)                     | si le champ n’a pas pu être analysé par le parseur de flux, exécuter le parseur SQL et essayer de l’interpréter comme une expression SQL.                                                                                                     | `true`     |
| [`input_format_values_deduce_templates_of_expressions`](/fr/reference/settings/formats#input_format_values_deduce_templates_of_expressions) | si le champ n’a pas pu être analysé par le parseur de flux, exécuter le parseur SQL, déduire le modèle de l’expression SQL, essayer d’analyser toutes les lignes à l’aide de ce modèle, puis interpréter l’expression pour toutes les lignes. | `true`     |
| [`input_format_values_accurate_types_of_literals`](/fr/reference/settings/formats#input_format_values_accurate_types_of_literals)           | lors de l’analyse et de l’interprétation d’expressions à l’aide d’un modèle, vérifier le type réel du littéral afin d’éviter d’éventuels problèmes de dépassement de capacité et de précision.                                                | `true`     |
