ClickHouse/docs/fr/sql-reference/data-types/array.md
Ivan Blinkov d91c97d15d
[docs] replace underscores with hyphens (#10606)
* Replace underscores with hyphens

* remove temporary code

* fix style check

* fix collapse
2020-04-30 21:19:18 +03:00

2.6 KiB
Raw Blame History

machine_translated machine_translated_rev toc_priority toc_title
true f865c9653f 51 Array(T)

Array(t)

Un tableau de Tles éléments de type. T peut être nimporte quel type de données, y compris un tableau.

La création dun Tableau

Vous pouvez utiliser une fonction pour créer un tableau:

array(T)

Vous pouvez également utiliser des crochets.

[]

Exemple de création dun tableau:

SELECT array(1, 2) AS x, toTypeName(x)
┌─x─────┬─toTypeName(array(1, 2))─┐
│ [1,2] │ Array(UInt8)            │
└───────┴─────────────────────────┘
SELECT [1, 2] AS x, toTypeName(x)
┌─x─────┬─toTypeName([1, 2])─┐
│ [1,2] │ Array(UInt8)       │
└───────┴────────────────────┘

Utilisation De Types De Données

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 ou littéral NULL les valeurs, le type dun élément de tableau devient également Nullable.

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')).

Exemples de détection automatique de type de données:

SELECT array(1, 2, NULL) AS x, toTypeName(x)
┌─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:

SELECT array(1, 'a')
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