跳到主要内容

位图(Bitmap)函数

本页面全面介绍 Databend 中的位图函数,按功能分类以便查阅。

位图操作

函数描述示例
BITMAP_AND对两个位图执行按位与BITMAP_AND(BUILD_BITMAP([1,4,5]), BUILD_BITMAP([4,5])){4,5}
BITMAP_OR对两个位图执行按位或BITMAP_OR(BUILD_BITMAP([1,2]), BUILD_BITMAP([2,3])){1,2,3}
BITMAP_XOR对两个位图执行按位异或BITMAP_XOR(BUILD_BITMAP([1,2,3]), BUILD_BITMAP([2,3,4])){1,4}
BITMAP_NOT对位图执行按位非BITMAP_NOT(BUILD_BITMAP([1,2,3]), 5){0,4}
BITMAP_AND_NOT返回第一个位图存在但第二个位图不存在的元素BITMAP_AND_NOT(BUILD_BITMAP([1,2,3]), BUILD_BITMAP([2,3])){1}
BITMAP_UNION合并多个位图BITMAP_UNION([BUILD_BITMAP([1,2]), BUILD_BITMAP([2,3])]){1,2,3}
BITMAP_INTERSECT返回多个位图的交集BITMAP_INTERSECT([BUILD_BITMAP([1,2,3]), BUILD_BITMAP([2,3,4])]){2,3}

位图信息

函数描述示例
BITMAP_COUNT返回位图元素数量BITMAP_COUNT(BUILD_BITMAP([1,2,3]))3
BITMAP_CONTAINS检查位图是否包含特定元素BITMAP_CONTAINS(BUILD_BITMAP([1,2,3]), 2)true
BITMAP_HAS_ANY检查位图是否包含另一位图的任意元素BITMAP_HAS_ANY(BUILD_BITMAP([1,2,3]), BUILD_BITMAP([3,4]))true
BITMAP_HAS_ALL检查位图是否包含另一位图的所有元素BITMAP_HAS_ALL(BUILD_BITMAP([1,2,3]), BUILD_BITMAP([2,3]))true
BITMAP_MIN返回位图最小元素BITMAP_MIN(BUILD_BITMAP([1,2,3]))1
BITMAP_MAX返回位图最大元素BITMAP_MAX(BUILD_BITMAP([1,2,3]))3
BITMAP_CARDINALITY返回位图元素数量BITMAP_CARDINALITY(BUILD_BITMAP([1,2,3]))3

位图计数操作

函数描述示例
BITMAP_AND_COUNT返回两个位图按位与的元素数量BITMAP_AND_COUNT(BUILD_BITMAP([1,2,3]), BUILD_BITMAP([2,3,4]))2
BITMAP_OR_COUNT返回两个位图按位或的元素数量BITMAP_OR_COUNT(BUILD_BITMAP([1,2]), BUILD_BITMAP([2,3]))3
BITMAP_XOR_COUNT返回两个位图按位异或的元素数量BITMAP_XOR_COUNT(BUILD_BITMAP([1,2,3]), BUILD_BITMAP([2,3,4]))2
BITMAP_NOT_COUNT返回位图按位非的元素数量BITMAP_NOT_COUNT(BUILD_BITMAP([1,2,3]), 5)2
INTERSECT_COUNT返回多个位图交集的元素数量INTERSECT_COUNT([BUILD_BITMAP([1,2,3]), BUILD_BITMAP([2,3,4])])2

位图子集操作

函数描述示例
SUB_BITMAP提取位图子集SUB_BITMAP(BUILD_BITMAP([1,2,3,4,5]), 1, 3){2,3,4}
BITMAP_SUBSET_IN_RANGE返回指定范围内的位图子集BITMAP_SUBSET_IN_RANGE(BUILD_BITMAP([1,2,3,4,5]), 2, 4){2,3}
BITMAP_SUBSET_LIMIT返回带数量限制的位图子集BITMAP_SUBSET_LIMIT(BUILD_BITMAP([1,2,3,4,5]), 2, 2){3,4}
开始使用 Databend Cloud
低成本
快速分析
多种数据源
弹性扩展
注册