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

> Documentation des fonctions bitmap

# Fonctions bitmap

Les bitmaps peuvent être construits de deux façons. La première consiste à utiliser la fonction d'agrégation groupBitmap avec `-State` ; la seconde à construire un bitmap à partir d'un objet Array.

<div id="bitmapAnd">
  ## bitmapAnd
</div>

Introduit dans : v20.1.0

Calcule la conjonction logique (AND) de deux bitmaps.

**Syntaxe**

```sql theme={null}
bitmapAnd(bitmap1, bitmap2)
```

**Arguments**

* `bitmap1` — Premier objet bitmap. [`AggregateFunction(groupBitmap, T)`](/fr/reference/data-types/aggregatefunction). - `bitmap2` — Deuxième objet bitmap. [`AggregateFunction(groupBitmap, T)`](/fr/reference/data-types/aggregatefunction).

**Valeur renvoyée**

Renvoie un bitmap contenant les bits présents dans les deux bitmaps d’entrée [`AggregateFunction(groupBitmap, T)`](/fr/reference/data-types/aggregatefunction)

**Exemples**

**Exemple d’utilisation**

```sql title=Query theme={null}
SELECT bitmapToArray(bitmapAnd(bitmapBuild([1, 2, 3]), bitmapBuild([3, 4, 5]))) AS res;
```

```response title=Response theme={null}
┌─res─┐
│ [3] │
└─────┘
```

<div id="bitmapAndCardinality">
  ## bitmapAndCardinality
</div>

Introduit dans : v20.1.0

Renvoie la cardinalité de la conjonction logique (AND) de deux bitmaps.

**Syntaxe**

```sql theme={null}
bitmapAndCardinality(bitmap1, bitmap2)
```

**Arguments**

* `bitmap1` — Premier objet bitmap. [`AggregateFunction(groupBitmap, T)`](/fr/reference/data-types/aggregatefunction). - `bitmap2` — Deuxième objet bitmap. [`AggregateFunction(groupBitmap, T)`](/fr/reference/data-types/aggregatefunction).

**Valeur renvoyée**

Renvoie le nombre de bits à 1 dans l’intersection des deux bitmaps [`UInt64`](/fr/reference/data-types/int-uint)

**Exemples**

**Exemple d’utilisation**

```sql title=Query theme={null}
SELECT bitmapAndCardinality(bitmapBuild([1,2,3]), bitmapBuild([3,4,5])) AS res;
```

```response title=Response theme={null}
┌─res─┐
│   1 │
└─────┘
```

<div id="bitmapAndnot">
  ## bitmapAndnot
</div>

Introduit dans : v20.1.0

Calcule la différence d'ensemble A AND-NOT B entre deux bitmaps.

**Syntaxe**

```sql theme={null}
bitmapAndnot(bitmap1, bitmap2)
```

**Arguments**

* `bitmap1` — Premier objet bitmap. [`AggregateFunction(groupBitmap, T)`](/fr/reference/data-types/aggregatefunction). - `bitmap2` — Deuxième objet bitmap. [`AggregateFunction(groupBitmap, T)`](/fr/reference/data-types/aggregatefunction).

**Valeur renvoyée**

Renvoie un bitmap contenant les bits à 1 présents dans le premier bitmap, mais pas dans le second [`AggregateFunction(groupBitmap, T)`](/fr/reference/data-types/aggregatefunction)

**Exemples**

**Exemple d'utilisation**

```sql title=Query theme={null}
SELECT bitmapToArray(bitmapAndnot(bitmapBuild([1, 2, 3]), bitmapBuild([3, 4, 5]))) AS res;
```

```response title=Response theme={null}
┌─res────┐
│ [1, 2] │
└────────┘
```

<div id="bitmapAndnotCardinality">
  ## bitmapAndnotCardinality
</div>

Introduit dans : v20.1.0

Renvoie la cardinalité de l’opération AND-NOT entre deux bitmaps.

**Syntaxe**

```sql theme={null}
bitmapAndnotCardinality(bitmap1, bitmap2)
```

**Arguments**

* `bitmap1` — Premier objet bitmap. [`AggregateFunction(groupBitmap, T)`](/fr/reference/data-types/aggregatefunction). - `bitmap2` — Deuxième objet bitmap. [`AggregateFunction(groupBitmap, T)`](/fr/reference/data-types/aggregatefunction).

**Valeur renvoyée**

Renvoie le nombre de bits à 1 dans le résultat de `bitmap1 AND-NOT bitmap2` [`UInt64`](/fr/reference/data-types/int-uint)

**Exemples**

**Exemple d'utilisation**

```sql title=Query theme={null}
SELECT bitmapAndnotCardinality(bitmapBuild([1,2,3]), bitmapBuild([3,4,5])) AS res;
```

```response title=Response theme={null}
┌─res─┐
│   2 │
└─────┘
```

<div id="bitmapBuild">
  ## bitmapBuild
</div>

Introduit dans : v20.1.0

Crée un bitmap à partir d'un tableau d'entiers. Les types d’éléments pris en charge sont des entiers signés et non signés de 8, 16, 32 ou 64 bits. C'est l'inverse de la fonction [`bitmapToArray`](/fr/reference/functions/regular-functions/bitmap-functions#bitmapToArray).

**Syntaxe**

```sql theme={null}
bitmapBuild(array)
```

**Arguments**

* `array` — Tableau d’entiers. [`Array((U)Int*)`](/fr/reference/data-types/array)

**Valeur renvoyée**

Renvoie un bitmap à partir du tableau fourni [`AggregateFunction(groupBitmap, T)`](/fr/reference/data-types/aggregatefunction)

**Exemples**

**Exemple d’utilisation**

```sql title=Query theme={null}
SELECT bitmapBuild([1, 2, 3, 4, 5]) AS res, toTypeName(res);
```

```response title=Response theme={null}
┌─res─┬─toTypeName(bitmapBuild([1, 2, 3, 4, 5]))─────┐
│     │ AggregateFunction(groupBitmap, UInt8)        │
└─────┴──────────────────────────────────────────────┘
```

**Bitmap signé**

```sql title=Query theme={null}
SELECT bitmapBuild([-128, -1]::Array(Int8)) AS res, toTypeName(res);
```

```response title=Response theme={null}
┌─res─┬─toTypeName(bitmapBuild([-128, -1]::Array(Int8)))─┐
│     │ AggregateFunction(groupBitmap, Int8)             │
└─────┴──────────────────────────────────────────────────┘
```

<div id="bitmapCardinality">
  ## bitmapCardinality
</div>

Introduit dans : v20.1.0

Renvoie le nombre de bits à 1 (la cardinalité) dans le bitmap.

**Syntaxe**

```sql theme={null}
bitmapCardinality(bitmap)
```

**Arguments**

* `bitmap` — Objet bitmap. [`AggregateFunction(groupBitmap, T)`](/fr/reference/data-types/aggregatefunction).

**Valeur renvoyée**

Renvoie le nombre de bits à 1 dans le bitmap [`UInt64`](/fr/reference/data-types/int-uint)

**Exemples**

**Exemple d'utilisation**

```sql title=Query theme={null}
SELECT bitmapCardinality(bitmapBuild([1, 3, 3, 5, 7, 7])) AS res
```

```response title=Response theme={null}
┌─res─┐
│   4 │
└─────┘
```

<div id="bitmapContains">
  ## bitmapContains
</div>

Introduit dans : v20.1.0

Vérifie si le bitmap contient un élément donné. La valeur est comparée en tant qu’entier non signé du type d’élément du bitmap. Pour les bitmaps signés, un élément négatif correspond à son équivalent non signé (par exemple, la valeur `Int8` `-1` correspond à `255`).

**Syntaxe**

```sql theme={null}
bitmapContains(bitmap, value)
```

**Arguments**

* `bitmap` — objet bitmap. [`AggregateFunction(groupBitmap, T)`](/fr/reference/data-types/aggregatefunction). - `value` — Élément à rechercher. [(U)Int8/16/32/64](/fr/reference/data-types/int-uint)

**Valeur renvoyée**

Renvoie `1` si le bitmap contient la valeur spécifiée, sinon `0` [`UInt8`](/fr/reference/data-types/int-uint)

**Exemples**

**Exemple d'utilisation**

```sql title=Query theme={null}
SELECT bitmapContains(bitmapBuild([1, 2, 3]), 2) AS res;
```

```response title=Response theme={null}
┌─res─┐
│  1  │
└─────┘
```

**Bitmap signé**

```sql title=Query theme={null}
SELECT bitmapContains(bitmapBuild([-1]::Array(Int8)), 255) AS res;
```

```response title=Response theme={null}
┌─res─┐
│  1  │
└─────┘
```

<div id="bitmapHasAll">
  ## bitmapHasAll
</div>

Introduit dans : v20.1.0

Vérifie si le premier bitmap contient tous les bits à 1 du second bitmap.

**Syntaxe**

```sql theme={null}
bitmapHasAll(bitmap1, bitmap2)
```

**Arguments**

* `bitmap1` — Premier objet bitmap. [`AggregateFunction(groupBitmap, T)`](/fr/reference/data-types/aggregatefunction). - `bitmap2` — Deuxième objet bitmap. [`AggregateFunction(groupBitmap, T)`](/fr/reference/data-types/aggregatefunction).

**Valeur renvoyée**

Renvoie `1` si tous les bits à 1 du deuxième bitmap sont présents dans le premier bitmap, sinon `0` [`UInt8`](/fr/reference/data-types/int-uint)

**Exemples**

**Exemple d'utilisation**

```sql title=Query theme={null}
SELECT bitmapHasAll(bitmapBuild([1, 2, 3]), bitmapBuild([2, 3])) AS res;
```

```response title=Response theme={null}
┌─res─┐
│  1  │
└─────┘
```

<div id="bitmapHasAny">
  ## bitmapHasAny
</div>

Introduit dans : v20.1.0

Vérifie si le premier bitmap contient au moins un des bits à 1 du second bitmap.

**Syntaxe**

```sql theme={null}
bitmapHasAny(bitmap1, bitmap2)
```

**Arguments**

* `bitmap1` — Premier objet bitmap. [`AggregateFunction(groupBitmap, T)`](/fr/reference/data-types/aggregatefunction). - `bitmap2` — Deuxième objet bitmap. [`AggregateFunction(groupBitmap, T)`](/fr/reference/data-types/aggregatefunction).

**Valeur renvoyée**

Renvoie `1` si au moins un bit du deuxième bitmap est présent dans le premier bitmap, sinon `0` [`UInt8`](/fr/reference/data-types/int-uint)

**Exemples**

**Exemple d'utilisation**

```sql title=Query theme={null}
SELECT bitmapHasAny(bitmapBuild([1, 2, 3]), bitmapBuild([3, 4, 5])) AS res;
```

```response title=Response theme={null}
┌─res─┐
│  1  │
└─────┘
```

<div id="bitmapMax">
  ## bitmapMax
</div>

Introduit dans : v20.1.0

Renvoie le plus grand élément d’un bitmap, interprété comme un entier non signé du type d’élément du bitmap. Pour les bitmaps signés, les valeurs négatives sont traitées comme leurs équivalents non signés (par exemple, la valeur `Int8` `-1` correspond à `255`). Renvoie `0` si le bitmap est vide.

**Syntaxe**

```sql theme={null}
bitmapMax(bitmap)
```

**Arguments**

* `bitmap` — Objet bitmap. [`AggregateFunction(groupBitmap, T)`](/fr/reference/data-types/aggregatefunction).

**Valeur renvoyée**

Renvoie le plus grand élément sous forme de valeur non signée du type d’élément du bitmap, ou `0` si le bitmap est vide [`UInt64`](/fr/reference/data-types/int-uint)

**Exemples**

**Exemple d'utilisation**

```sql title=Query theme={null}
SELECT bitmapMax(bitmapBuild([1, 2, 3, 4, 5])) AS res;
```

```response title=Response theme={null}
┌─res─┐
│   5 │
└─────┘
```

**Bitmap signé**

```sql title=Query theme={null}
SELECT bitmapMax(bitmapBuild([-128, -1]::Array(Int8))) AS res;
```

```response title=Response theme={null}
┌─res─┐
│ 255 │
└─────┘
```

<div id="bitmapMin">
  ## bitmapMin
</div>

Introduite dans : v20.1.0

Renvoie le plus petit élément d’un bitmap, interprété comme un entier non signé du type d’élément du bitmap. Pour les bitmaps signés, les valeurs négatives sont traitées comme leurs équivalents non signés (par exemple, la valeur `Int8` `-128` correspond à `128`). Si le bitmap est vide, renvoie `UINT32_MAX` (`UINT64_MAX` si le type d’élément du bitmap dépasse 32 bits).

**Syntaxe**

```sql theme={null}
bitmapMin(bitmap)
```

**Arguments**

* `bitmap` — Objet bitmap. [`AggregateFunction(groupBitmap, T)`](/fr/reference/data-types/aggregatefunction).

**Valeur renvoyée**

Renvoie le plus petit élément sous forme de valeur non signée du type d’élément du bitmap, ou `UINT32_MAX`/`UINT64_MAX` si le bitmap est vide [`UInt64`](/fr/reference/data-types/int-uint)

**Exemples**

**Exemple d’utilisation**

```sql title=Query theme={null}
SELECT bitmapMin(bitmapBuild([3, 5, 2, 6])) AS res;
```

```response title=Response theme={null}
┌─res─┐
│   2 │
└─────┘
```

**Bitmap signé**

```sql title=Query theme={null}
SELECT bitmapMin(bitmapBuild([-128, -1]::Array(Int8))) AS res;
```

```response title=Response theme={null}
┌─res─┐
│ 128 │
└─────┘
```

<div id="bitmapOr">
  ## bitmapOr
</div>

Introduit dans : v20.1.0

Calcule la disjonction logique (OR) de deux bitmaps.

**Syntaxe**

```sql theme={null}
bitmapOr(bitmap1, bitmap2)
```

**Arguments**

* `bitmap1` — Premier objet bitmap. [`AggregateFunction(groupBitmap, T)`](/fr/reference/data-types/aggregatefunction). - `bitmap2` — Deuxième objet bitmap. [`AggregateFunction(groupBitmap, T)`](/fr/reference/data-types/aggregatefunction).

**Valeur renvoyée**

Renvoie un bitmap contenant les bits à 1 présents dans l'un ou l'autre des bitmaps d'entrée [`AggregateFunction(groupBitmap, T)`](/fr/reference/data-types/aggregatefunction)

**Exemples**

**Exemple d'utilisation**

```sql title=Query theme={null}
SELECT bitmapToArray(bitmapOr(bitmapBuild([1, 2, 3]), bitmapBuild([3, 4, 5]))) AS res;
```

```response title=Response theme={null}
┌─res─────────────┐
│ [1, 2, 3, 4, 5] │
└─────────────────┘
```

<div id="bitmapOrCardinality">
  ## bitmapOrCardinality
</div>

Introduit dans : v20.1.0

Renvoie la cardinalité de la disjonction logique (OR) de deux bitmaps.

**Syntaxe**

```sql theme={null}
bitmapOrCardinality(bitmap1, bitmap2)
```

**Arguments**

* `bitmap1` — Premier objet bitmap. [`AggregateFunction(groupBitmap, T)`](/fr/reference/data-types/aggregatefunction). - `bitmap2` — Deuxième objet bitmap. [`AggregateFunction(groupBitmap, T)`](/fr/reference/data-types/aggregatefunction).

**Valeur renvoyée**

Renvoie le nombre de bits à 1 dans l'union des deux bitmaps [`UInt64`](/fr/reference/data-types/int-uint)

**Exemples**

**Exemple d'utilisation**

```sql title=Query theme={null}
SELECT bitmapOrCardinality(bitmapBuild([1,2,3]), bitmapBuild([3,4,5])) AS res;
```

```response title=Response theme={null}
┌─res─┐
│   5 │
└─────┘
```

<div id="bitmapSubsetInRange">
  ## bitmapSubsetInRange
</div>

Introduit dans : v20.1.0

Renvoie un sous-ensemble du bitmap contenant les éléments dans la plage de valeurs `[start, end)`. Les valeurs des éléments sont comparées en tant qu'entiers non signés du type d'élément du bitmap.

**Syntaxe**

```sql theme={null}
bitmapSubsetInRange(bitmap, start, end)
```

**Arguments**

* `bitmap` — Bitmap à partir duquel extraire le sous-ensemble. [`AggregateFunction(groupBitmap, T)`](/fr/reference/data-types/aggregatefunction). - `start` — Début de la plage (inclus). [`UInt*`](/fr/reference/data-types/int-uint) - `end` — Fin de la plage (exclue). [`UInt*`](/fr/reference/data-types/int-uint)

**Valeur renvoyée**

Renvoie un bitmap contenant uniquement les éléments dans la plage de valeurs spécifiée [`AggregateFunction(groupBitmap, T)`](/fr/reference/data-types/aggregatefunction)

**Exemples**

**Exemple d'utilisation**

```sql title=Query theme={null}
SELECT bitmapToArray(bitmapSubsetInRange(bitmapBuild([1, 2, 3, 4, 5]), 2, 5)) AS res;
```

```response title=Response theme={null}
┌─res───────┐
│ [2, 3, 4] │
└───────────┘
```

<div id="bitmapSubsetLimit">
  ## bitmapSubsetLimit
</div>

Introduit dans : v20.1.0

Renvoie un sous-ensemble d’au plus `cardinality_limit` éléments dont les valeurs sont supérieures ou égales à `range_start`, en sélectionnant les plus petites selon l’ordre non signé.

**Syntaxe**

```sql theme={null}
bitmapSubsetLimit(bitmap, range_start, cardinality_limit)
```

**Arguments**

* `bitmap` — Objet bitmap. [`AggregateFunction(groupBitmap, T)`](/fr/reference/data-types/aggregatefunction). - `range_start` — Début de la plage (inclus). [`UInt32`](/fr/reference/data-types/int-uint) - `cardinality_limit` — Cardinalité maximale du sous-ensemble. [`UInt32`](/fr/reference/data-types/int-uint)

**Valeur renvoyée**

Renvoie un bitmap contenant au plus `cardinality_limit` éléments dont la valeur non signée est au moins `range_start` [`AggregateFunction(groupBitmap, T)`](/fr/reference/data-types/aggregatefunction)

**Exemples**

**Exemple d'utilisation**

```sql title=Query theme={null}
SELECT arraySort(bitmapToArray(bitmapSubsetLimit(bitmapBuild([1, 5, 3, 2, 8]), 3, 2))) AS res;
```

```response title=Response theme={null}
┌─res────┐
│ [3, 5] │
└────────┘
```

<div id="bitmapToArray">
  ## bitmapToArray
</div>

Introduit dans : v20.1.0

Convertit un bitmap en un tableau contenant ses éléments. Le type d’élément du tableau correspond au type d’élément `T` du bitmap (entier signé ou non signé). C’est l’inverse de la fonction [`bitmapBuild`](/fr/reference/functions/regular-functions/bitmap-functions#bitmapBuild).

**Syntaxe**

```sql theme={null}
bitmapToArray(bitmap)
```

**Arguments**

* `bitmap` — bitmap à convertir. [`AggregateFunction(groupBitmap, T)`](/fr/reference/data-types/aggregatefunction).

**Valeur renvoyée**

Renvoie un tableau des éléments contenus dans le bitmap [`Array(T)`](/fr/reference/data-types/array)

**Exemples**

**Exemple d’utilisation**

```sql title=Query theme={null}
SELECT bitmapToArray(bitmapBuild([1, 2, 3, 4, 5])) AS res;
```

```response title=Response theme={null}
┌─res─────────────┐
│ [1, 2, 3, 4, 5] │
└─────────────────┘
```

**Bitmap signé**

```sql title=Query theme={null}
SELECT arraySort(bitmapToArray(bitmapBuild([-128, -1]::Array(Int8)))) AS res;
```

```response title=Response theme={null}
┌─res────────┐
│ [-128, -1] │
└────────────┘
```

<div id="bitmapTransform">
  ## bitmapTransform
</div>

Introduit dans : v20.1.0

Remplace les éléments d’un bitmap selon une correspondance entre `from_array` et `to_array`.
Les valeurs sont interprétées comme des entiers non signés du type d’élément du bitmap (même domaine que [`bitmapContains`](/fr/reference/functions/regular-functions/bitmap-functions#bitmapContains)).
Pour les bitmaps signés, un élément négatif correspond à son équivalent non signé (par exemple, la valeur `Int8` `-1` correspond à `255`).
Une valeur de `to_array` qui ne peut pas être représentée dans le type d’élément du bitmap lève `BAD_ARGUMENTS`. Une valeur de `from_array`
qui ne peut pas être représentée n’est simplement pas trouvée, de sorte que le remplacement correspondant ne s’applique pas.

**Syntaxe**

```sql theme={null}
bitmapTransform(bitmap, from_array, to_array)
```

**Arguments**

* `bitmap` — objet bitmap. [`AggregateFunction(groupBitmap, T)`](/fr/reference/data-types/aggregatefunction). - `from_array` — Array des bits à 1 d’origine à remplacer. [`Array(T)`](/fr/reference/data-types/array). - `to_array` — Array des nouveaux bits à 1 de remplacement. [`Array(T)`](/fr/reference/data-types/array).

**Valeur renvoyée**

Renvoie un bitmap dont les éléments sont transformés selon la correspondance indiquée [`AggregateFunction(groupBitmap, T)`](/fr/reference/data-types/aggregatefunction)

**Exemples**

**Exemple d'utilisation**

```sql title=Query theme={null}
SELECT bitmapToArray(bitmapTransform(bitmapBuild([1, 2, 3, 4, 5]), [2, 4], [20, 40])) AS res;
```

```response title=Response theme={null}
┌─res───────────────┐
│ [1, 3, 5, 20, 40] │
└───────────────────┘
```

**Bitmap signé**

```sql title=Query theme={null}
SELECT arraySort(bitmapToArray(bitmapTransform(bitmapBuild([-1, 0]::Array(Int8)), [255], [10]))) AS res;
```

```response title=Response theme={null}
┌─res─────┐
│ [0, 10] │
└─────────┘
```

<div id="bitmapXor">
  ## bitmapXor
</div>

Introduit dans : v20.1.0

Calcule la différence symétrique (XOR) de deux bitmaps.

**Syntaxe**

```sql theme={null}
bitmapXor(bitmap1, bitmap2)
```

**Arguments**

* `bitmap1` — Premier objet bitmap. [`AggregateFunction(groupBitmap, T)`](/fr/reference/data-types/aggregatefunction). - `bitmap2` — Deuxième objet bitmap. [`AggregateFunction(groupBitmap, T)`](/fr/reference/data-types/aggregatefunction).

**Valeur renvoyée**

Renvoie un bitmap contenant les bits à 1 présents dans l’un ou l’autre des bitmaps d’entrée, mais pas dans les deux [`AggregateFunction(groupBitmap, T)`](/fr/reference/data-types/aggregatefunction)

**Exemples**

**Exemple d'utilisation**

```sql title=Query theme={null}
SELECT bitmapToArray(bitmapXor(bitmapBuild([1, 2, 3]), bitmapBuild([3, 4, 5]))) AS res;
```

```response title=Response theme={null}
┌─res──────────┐
│ [1, 2, 4, 5] │
└──────────────┘
```

<div id="bitmapXorCardinality">
  ## bitmapXorCardinality
</div>

Introduit dans : v20.1.0

Renvoie la cardinalité du XOR (différence symétrique) de deux bitmaps.

**Syntaxe**

```sql theme={null}
bitmapXorCardinality(bitmap1, bitmap2)
```

**Arguments**

* `bitmap1` — Premier objet bitmap. [`AggregateFunction(groupBitmap, T)`](/fr/reference/data-types/aggregatefunction). - `bitmap2` — Deuxième objet bitmap. [`AggregateFunction(groupBitmap, T)`](/fr/reference/data-types/aggregatefunction).

**Valeur renvoyée**

Renvoie le nombre de bits à 1 dans la différence symétrique des deux bitmaps [`UInt64`](/fr/reference/data-types/int-uint)

**Exemples**

**Exemple d'utilisation**

```sql title=Query theme={null}
SELECT bitmapXorCardinality(bitmapBuild([1,2,3]), bitmapBuild([3,4,5])) AS res;
```

```response title=Response theme={null}
┌─res─┐
│   4 │
└─────┘
```

<div id="subBitmap">
  ## subBitmap
</div>

Introduit dans : v21.9.0

Renvoie un sous-ensemble du bitmap après avoir ignoré `offset` éléments dans l’ordre croissant des valeurs non signées. La cardinalité maximale du bitmap renvoyé est `cardinality_limit`.

**Syntaxe**

```sql theme={null}
subBitmap(bitmap, offset, cardinality_limit)
```

**Arguments**

* `bitmap` — Objet bitmap. [`AggregateFunction(groupBitmap, T)`](/fr/reference/data-types/aggregatefunction). - `offset` — Nombre de bits à 1 à ignorer depuis le début (indexation à partir de zéro). [`UInt32`](/fr/reference/data-types/int-uint) - `cardinality_limit` — Nombre maximal de bits à 1 à inclure dans le sous-ensemble. [`UInt32`](/fr/reference/data-types/int-uint)

**Valeur renvoyée**

Renvoie un bitmap contenant au plus `cardinality_limit` éléments après omission de `offset` éléments dans l’ordre croissant des valeurs non signées [`AggregateFunction(groupBitmap, T)`](/fr/reference/data-types/aggregatefunction)

**Exemples**

**Exemple d’utilisation**

```sql title=Query theme={null}
SELECT bitmapToArray(subBitmap(bitmapBuild([1, 2, 3, 4, 5]), 2, 2)) AS res;
```

```response title=Response theme={null}
┌─res────┐
│ [3, 4] │
└────────┘
```
