Skip to main content
Bitmap 可通过两种方式构造。第一种是使用带有 -State 的聚合函数 groupBitmap 进行构造,另一种是从 Array 对象构造 bitmap。

bitmapAnd

首次引入于:v20.1.0 计算两个 bitmap 的逻辑与 (AND) 。 语法
参数 返回值 返回一个 bitmap,其中包含两个输入 bitmap 中都存在的位 AggregateFunction(groupBitmap, T) 示例 使用示例
Query
Response

bitmapAndCardinality

引入于:v20.1.0 返回两个 bitmap 逻辑与 (AND) 结果的基数。 语法
参数 返回值 返回两个 bitmap 交集中置为 1 的位数。UInt64 示例 用法示例
Query
Response

bitmapAndnot

始于版本:v20.1.0 计算两个 bitmap 的集合差集 A AND-NOT B。 语法
参数 返回值 返回一个 bitmap,包含第一个 bitmap 中已置位但第二个 bitmap 中未置位的位 AggregateFunction(groupBitmap, T) 示例 使用示例
Query
Response

bitmapAndnotCardinality

引入版本:v20.1.0 返回两个 bitmap 进行 AND-NOT 运算后结果的基数。 语法
参数 返回值 返回 bitmap1 AND-NOT bitmap2 结果中置位的位数。UInt64 示例 使用示例
Query
Response

bitmapBuild

引入版本:v20.1.0 根据整数数组构建 bitmap。支持的元素类型为 8、16、32 或 64 位有符号和无符号整数。它是函数 bitmapToArray 的逆操作。 语法
参数 返回值 返回由给定数组构建的 bitmap AggregateFunction(groupBitmap, T) 示例 用法示例
Query
Response
有符号 bitmap
Query
Response

bitmapCardinality

引入版本:v20.1.0 返回 bitmap 中置为 1 的位数 (即基数) 。 语法
参数 返回值 返回 bitmap 中被置为 1 的位数。UInt64 示例 使用示例
Query
Response

bitmapContains

引入版本:v20.1.0 检查 bitmap 是否包含指定元素。该值会按 bitmap 元素类型的无符号整数进行比较。对于有符号 bitmap,负元素会匹配其对应的无符号值 (例如,Int8-1 匹配 255) 。 语法
参数 返回值 如果 bitmap 包含指定的值,则返回 1,否则返回 0UInt8 示例 使用示例
Query
Response
有符号 bitmap
Query
Response

bitmapHasAll

引入版本:v20.1.0 检查第一个 bitmap 是否包含第二个 bitmap 中所有置位的位。 语法
参数 返回值 如果第二个 bitmap 中的所有置位都存在于第一个 bitmap 中,则返回 1,否则返回 0UInt8 示例 用法示例
Query
Response

bitmapHasAny

引入版本:v20.1.0 检查第一个 bitmap 是否包含第二个 bitmap 中任意置位。 语法
参数 返回值 如果第二个 bitmap 中的任意位出现在第一个 bitmap 中,则返回 1;否则返回 0UInt8 示例 使用示例
Query
Response

bitmapMax

引入版本:v20.1.0 返回 bitmap 中最大的元素,并将其解释为 bitmap 元素类型的无符号整数。对于有符号 bitmap,负值会被视为对应的无符号值 (例如,Int8-1255) 。如果 bitmap 为空,则返回 0 语法
参数 返回值 返回 bitmap 中最大的元素,并以 bitmap 元素类型的无符号值表示;如果 bitmap 为空,则返回 0 UInt64 示例 使用示例
Query
Response
有符号 bitmap
Query
Response

bitmapMin

引入版本:v20.1.0 返回 bitmap 中最小的元素,并将其视为 bitmap 元素类型的无符号整数。对于有符号 bitmap,负值会被视为对应的无符号值 (例如,Int8-128 视为 128) 。如果 bitmap 为空,则返回 UINT32_MAX (如果 bitmap 元素类型宽于 32 位,则返回 UINT64_MAX) 。 语法
参数 返回值 返回 bitmap 中最小的元素,以 bitmap 元素类型的无符号值表示;如果 bitmap 为空,则返回 UINT32_MAX/UINT64_MAX UInt64 示例 用法示例
Query
Response
有符号 bitmap
Query
Response

bitmapOr

引入版本:v20.1.0 计算两个 bitmap 的逻辑或 (OR) 。 语法
参数 返回值 返回一个 bitmap,包含任一输入 bitmap 中置位的位。AggregateFunction(groupBitmap, T) 示例 使用示例
Query
Response

bitmapOrCardinality

引入版本:v20.1.0 返回两个 bitmap 逻辑或 (OR) 结果的基数。 语法
参数 返回值 返回两个 bitmap 并集中的置位数。UInt64 示例 用法示例
Query
Response

bitmapSubsetInRange

引入版本:v20.1.0 返回 bitmap 的一个子集,其中包含值范围 [start, end) 内的元素。元素值按 bitmap 元素类型的无符号整数进行比较。 语法
参数 返回值 返回一个仅包含指定值范围内元素的 bitmap AggregateFunction(groupBitmap, T) 示例 使用示例
Query
Response

bitmapSubsetLimit

引入版本:v20.1.0 返回一个最多包含 cardinality_limit 个元素的子集,其中元素值大于或等于 range_start,并按无符号顺序选取其中最小的值。 语法
参数 返回值 返回一个 bitmap,其中最多包含 cardinality_limit 个无符号值不小于 range_start 的元素。AggregateFunction(groupBitmap, T) 示例 使用示例
Query
Response

bitmapToArray

自 v20.1.0 引入 将 bitmap 转换为其元素组成的数组。数组元素类型与 bitmap 元素类型 T 一致 (有符号或无符号整数) 。它是函数 bitmapBuild 的逆操作。 语法
参数 返回值 返回 bitmap 中包含的元素数组 Array(T) 示例 使用示例
Query
Response
有符号 bitmap
Query
Response

bitmapTransform

引入版本:v20.1.0 根据从 from_arrayto_array 的映射替换 bitmap 中的元素。 值会被解释为 bitmap 元素类型的无符号整数 (与 bitmapContains 位于同一值域) 。 对于有符号 bitmap,负元素会与其对应的无符号值匹配 (例如,Int8-1255 匹配) 。 to_array 中不适合 bitmap 元素类型的值会引发 BAD_ARGUMENTSfrom_array 中 不适合该类型的值不会被找到,因此不会应用相应的替换。 语法
参数 返回值 返回一个其元素已根据给定映射进行转换的 bitmap AggregateFunction(groupBitmap, T) 示例 用法示例
Query
Response
有符号 bitmap
Query
Response

bitmapXor

引入版本:v20.1.0 计算两个 bitmap 的对称差 (XOR) 。 语法
参数 返回值 返回一个 bitmap,包含存在于任一输入 bitmap 中但不同时存在于两者中的置位。AggregateFunction(groupBitmap, T) 示例 使用示例
Query
Response

bitmapXorCardinality

引入版本:v20.1.0 返回两个 bitmap 的 XOR (对称差) 的基数。 语法
参数 返回值 返回两个 bitmap 的对称差中置位数 UInt64 示例 使用示例
Query
Response

subBitmap

引入版本:v21.9.0 按无符号值升序跳过 offset 个元素后,返回 bitmap 的一个子集。返回的 bitmap 的最大基数为 cardinality_limit 语法
参数 返回值 返回一个 bitmap,按无符号值升序跳过 offset 个元素后,最多包含 cardinality_limit 个元素。AggregateFunction(groupBitmap, T) 示例 使用示例
Query
Response
最后修改于 2026年8月14日