ClickHouse/docs/fr/sql-reference/data-types/array.md

78 lines
2.6 KiB
Markdown
Raw Normal View History

2020-03-30 12:48:55 +00:00
---
machine_translated: true
2020-04-04 09:15:31 +00:00
machine_translated_rev: f865c9653f9df092694258e0ccdd733c339112f5
toc_priority: 51
toc_title: Array(T)
2020-03-30 12:48:55 +00:00
---
2020-04-04 09:15:31 +00:00
# Array(t) {#data-type-array}
2020-03-30 12:48:55 +00:00
Un tableau de `T`les éléments de type. `T` peut être nimporte quel type de données, y compris un tableau.
2020-03-30 12:48:55 +00:00
## La création dun Tableau {#creating-an-array}
2020-03-30 12:48:55 +00:00
Vous pouvez utiliser une fonction pour créer un tableau:
``` sql
array(T)
```
Vous pouvez également utiliser des crochets.
``` sql
[]
```
Exemple de création dun tableau:
2020-03-30 12:48:55 +00:00
``` sql
SELECT array(1, 2) AS x, toTypeName(x)
```
``` text
┌─x─────┬─toTypeName(array(1, 2))─┐
│ [1,2] │ Array(UInt8) │
└───────┴─────────────────────────┘
```
``` sql
SELECT [1, 2] AS x, toTypeName(x)
```
``` text
┌─x─────┬─toTypeName([1, 2])─┐
│ [1,2] │ Array(UInt8) │
└───────┴────────────────────┘
```
2020-04-04 09:15:31 +00:00
## Utilisation De Types De Données {#working-with-data-types}
2020-03-30 12:48:55 +00:00
Lors de la création dun tableau à la volée, ClickHouse définit automatiquement le type dargument comme le type de données le plus étroit pouvant stocker tous les arguments listés. Sil y a des [Nullable](nullable.md#data_type-nullable) ou littéral [NULL](../../sql-reference/syntax.md#null-literal) les valeurs, le type dun élément de tableau devient également [Nullable](nullable.md).
2020-03-30 12:48:55 +00:00
Si ClickHouse na pas pu déterminer le type de données, il génère une exception. Par exemple, cela se produit lorsque vous essayez de créer un tableau avec des chaînes et des nombres simultanément (`SELECT array(1, 'a')`).
2020-03-30 12:48:55 +00:00
Exemples de détection automatique de type de données:
``` sql
SELECT array(1, 2, NULL) AS x, toTypeName(x)
```
``` text
┌─x──────────┬─toTypeName(array(1, 2, NULL))─┐
│ [1,2,NULL] │ Array(Nullable(UInt8)) │
└────────────┴───────────────────────────────┘
```
Si vous essayez de créer un tableau de types de données incompatibles, ClickHouse lève une exception:
``` sql
SELECT array(1, 'a')
```
``` text
Received exception from server (version 1.1.54388):
Code: 386. DB::Exception: Received from localhost:9000, 127.0.0.1. DB::Exception: There is no supertype for types UInt8, String because some of them are String/FixedString and some of them are not.
```
[Article Original](https://clickhouse.tech/docs/en/data_types/array/) <!--hide-->