ClickHouse/docs/ru/query_language/functions/bitmap_functions.md
BayoNet 2d2bc052e1
DOCAPI-8530: Code blocks markup fix (#7060)
* Typo fix.

* Links fix.

* Fixed links in docs.

* More fixes.

* docs/en: cleaning some files

* docs/en: cleaning data_types

* docs/en: cleaning database_engines

* docs/en: cleaning development

* docs/en: cleaning getting_started

* docs/en: cleaning interfaces

* docs/en: cleaning operations

* docs/en: cleaning query_lamguage

* docs/en: cleaning en

* docs/ru: cleaning data_types

* docs/ru: cleaning index

* docs/ru: cleaning database_engines

* docs/ru: cleaning development

* docs/ru: cleaning general

* docs/ru: cleaning getting_started

* docs/ru: cleaning interfaces

* docs/ru: cleaning operations

* docs/ru: cleaning query_language

* docs: cleaning interfaces/http

* Update docs/en/data_types/array.md

decorated ```

Co-Authored-By: BayoNet <da-daos@yandex.ru>

* Update docs/en/getting_started/example_datasets/nyc_taxi.md

fixed typo

Co-Authored-By: BayoNet <da-daos@yandex.ru>

* Update docs/en/getting_started/example_datasets/ontime.md

fixed typo

Co-Authored-By: BayoNet <da-daos@yandex.ru>

* Update docs/en/interfaces/formats.md

fixed error

Co-Authored-By: BayoNet <da-daos@yandex.ru>

* Update docs/en/operations/table_engines/custom_partitioning_key.md

Co-Authored-By: BayoNet <da-daos@yandex.ru>

* Update docs/en/operations/utils/clickhouse-local.md

Co-Authored-By: BayoNet <da-daos@yandex.ru>

* Update docs/en/query_language/dicts/external_dicts_dict_sources.md

Co-Authored-By: BayoNet <da-daos@yandex.ru>

* Update docs/en/operations/utils/clickhouse-local.md

Co-Authored-By: BayoNet <da-daos@yandex.ru>

* Update docs/en/query_language/functions/json_functions.md

Co-Authored-By: BayoNet <da-daos@yandex.ru>

* Update docs/en/query_language/functions/json_functions.md

Co-Authored-By: BayoNet <da-daos@yandex.ru>

* Update docs/en/query_language/functions/other_functions.md

Co-Authored-By: BayoNet <da-daos@yandex.ru>

* Update docs/en/query_language/functions/other_functions.md

Co-Authored-By: BayoNet <da-daos@yandex.ru>

* Update docs/en/query_language/functions/date_time_functions.md

Co-Authored-By: BayoNet <da-daos@yandex.ru>

* Update docs/en/operations/table_engines/jdbc.md

Co-Authored-By: BayoNet <da-daos@yandex.ru>

* docs: fixed error

* docs: fixed error
2019-09-23 18:31:46 +03:00

7.7 KiB
Raw History

Функции для битмапов

bitmapBuild

Создаёт битовый массив из массива целочисленных значений.

bitmapBuild(array)

Параметры

  • array массив типа UInt*.

Пример

SELECT bitmapBuild([1, 2, 3, 4, 5]) AS res, toTypeName(res)
┌─res─┬─toTypeName(bitmapBuild([1, 2, 3, 4, 5]))─────┐
│     │ AggregateFunction(groupBitmap, UInt8)    │
└─────┴──────────────────────────────────────────────┘

bitmapToArray

Преобразует битовый массив в массив целочисленных значений.

bitmapToArray(bitmap)

Параметры

  • bitmap битовый массив.

Пример

SELECT bitmapToArray(bitmapBuild([1, 2, 3, 4, 5])) AS res
┌─res─────────┐
│ [1,2,3,4,5] │
└─────────────┘

bitmapContains

Проверяет вхождение элемента в битовый массив.

bitmapContains(haystack, needle)

Параметры

  • haystack объект Bitmap, в котором функция ищет значение.
  • needle значение, которое функция ищет. Тип — UInt32.

Возвращаемые значения

  • 0 — если в haystack нет needle.
  • 1 — если в haystack есть needle.

Тип — UInt8.

Пример

SELECT bitmapContains(bitmapBuild([1,5,7,9]), toUInt32(9)) AS res
┌─res─┐
│  1  │
└─────┘

bitmapHasAny

Проверяет, имеют ли два битовых массива хотя бы один общий элемент.

bitmapHasAny(bitmap1, bitmap2)

Если вы уверены, что bitmap2 содержит строго один элемент, используйте функцию bitmapContains. Она работает эффективнее.

Параметры

  • bitmap* массив любого типа с набором элементов.

Возвращаемые значения

  • 1, если bitmap1 и bitmap2 имеют хотя бы один одинаковый элемент.
  • 0, в противном случае.

Пример

SELECT bitmapHasAny(bitmapBuild([1,2,3]),bitmapBuild([3,4,5])) AS res
┌─res─┐
│  1  │
└─────┘

bitmapHasAll

Аналогично функции hasAll(array, array) возвращает 1 если первый битовый массив содержит все элементы второго, 0 в противном случае. Если второй аргумент является пустым битовым массивом, то возвращает 1.

bitmapHasAll(bitmap,bitmap)

Параметры

  • bitmap битовый массив.

Пример

SELECT bitmapHasAll(bitmapBuild([1,2,3]),bitmapBuild([3,4,5])) AS res
┌─res─┐
│  0  │
└─────┘

bitmapAnd

Логическое И для двух битовых массивов. Результат — новый битовый массив.

bitmapAnd(bitmap,bitmap)

Параметры

  • bitmap битовый массив.

Пример

SELECT bitmapToArray(bitmapAnd(bitmapBuild([1,2,3]),bitmapBuild([3,4,5]))) AS res
┌─res─┐
│ [3] │
└─────┘

bitmapOr

Логическое ИЛИ для двух битовых массивов. Результат — новый битовый массив.

bitmapOr(bitmap,bitmap)

Параметры

  • bitmap битовый массив.

Пример

SELECT bitmapToArray(bitmapOr(bitmapBuild([1,2,3]),bitmapBuild([3,4,5]))) AS res
┌─res─────────┐
│ [1,2,3,4,5] │
└─────────────┘

bitmapXor

Логическое исключающее ИЛИ для двух битовых массивов. Результат — новый битовый массив.

bitmapXor(bitmap,bitmap)

Параметры

  • bitmap битовый массив.

Пример

SELECT bitmapToArray(bitmapXor(bitmapBuild([1,2,3]),bitmapBuild([3,4,5]))) AS res
┌─res───────┐
│ [1,2,4,5] │
└───────────┘

bitmapAndnot

Логическое отрицание И для двух битовых массивов. Результат — новый битовый массив.

bitmapAndnot(bitmap,bitmap)

Параметры

  • bitmap битовый массив.

Пример

SELECT bitmapToArray(bitmapAndnot(bitmapBuild([1,2,3]),bitmapBuild([3,4,5]))) AS res
┌─res───┐
│ [1,2] │
└───────┘

bitmapCardinality

Возвращает кардинальность битового массива в виде значения типа UInt64.

bitmapCardinality(bitmap)

Параметры

  • bitmap битовый массив.

Пример

SELECT bitmapCardinality(bitmapBuild([1, 2, 3, 4, 5])) AS res
┌─res─┐
│   5 │
└─────┘

bitmapAndCardinality

Выполняет логическое И и возвращает кардинальность (UInt64) результирующего битового массива.

bitmapAndCardinality(bitmap,bitmap)

Параметры

  • bitmap битовый массив.

Пример

SELECT bitmapAndCardinality(bitmapBuild([1,2,3]),bitmapBuild([3,4,5])) AS res;
┌─res─┐
│   1 │
└─────┘

bitmapOrCardinality

Выполняет логическое ИЛИ и возвращает кардинальность (UInt64) результирующего битового массива.

bitmapOrCardinality(bitmap,bitmap)

Параметры

  • bitmap битовый массив.

Пример

SELECT bitmapOrCardinality(bitmapBuild([1,2,3]),bitmapBuild([3,4,5])) AS res;
┌─res─┐
│   5 │
└─────┘

bitmapXorCardinality

Выполняет логическое исключающее ИЛИ и возвращает кардинальность (UInt64) результирующего битового массива.

bitmapXorCardinality(bitmap,bitmap)

Параметры

  • bitmap битовый массив.

Пример

SELECT bitmapXorCardinality(bitmapBuild([1,2,3]),bitmapBuild([3,4,5])) AS res;
┌─res─┐
│   4 │
└─────┘

bitmapAndnotCardinality

Выполняет логическое отрицание И и возвращает кардинальность (UInt64) результирующего битового массива.

bitmapAndnotCardinality(bitmap,bitmap)

Параметры

  • bitmap битовый массив.

Пример

SELECT bitmapAndnotCardinality(bitmapBuild([1,2,3]),bitmapBuild([3,4,5])) AS res;
┌─res─┐
│   2 │
└─────┘

Оригинальная статья