关键字:
KingbaseES、聚集函数、bit_agg、位运算、人大金仓、KingbaseES
概述
在目前的KingbaseES的使用过程中,我们会遇到一些需要对数据进行分析的场景,这些场景往往伴随着对数据库表的修改或是分析的过程,用户在使用数据时并不仅仅希望数据库可以提供数据存取的能力,往往还希望数据库存取数据的便利性实现对数据的定性或定量分析,而这些分析函数就是数据库中所提供的聚集函数。
那么如何使用KingbaseES数据库对数据进行分析,或者如何使用KingbaseES数据库提供的聚集函数,从而方便我们对数据进行分析处理,那么本文接下来将从一些聚集函数的定义与使用角度来介绍KingbaseES所拥有的强大的数据分析能力。
位运算聚集函数
聚集函数是KES所提供的用于将数据库中用户所需的数据进行聚集处理的函数,这些函数可以用于分析对应数据的趋势信息,从而对用户输出一些参数用于用户进一步去处理和分析,聚集函数可以将数据库中用户所需的数据进行聚合操作,位运算聚集函数是我们较为常见的聚集函数,接下来在本文中我们将继续介绍KES中所提供的一些自定义函数,主要包括这些函数的使用方法,功能以及函数参数介绍等。并将这些函数以小章节的形式展开介绍,方便读者了解这些函数的具体功能与使用方法。
2.1 bit_and_agg
Bit_and_agg函数是一个按位与的运算逻辑,它支持输入可以为列名,数据类型可以为数字或空值,在PG中有和KES类似的函数为bit_and函数,但其只能接受int类型的参数,而KES所提供的该函数不仅可以接受int类型还可以计算浮点类型的数值,它的具体语法如下所示:
Bit_and_agg(number arg)
从函数声明语法的角度可以看出,这个参数接受类型为number类型,即不仅支持整型数据也支持浮点型数据,在KES中不仅提供用于兼容pg的bit_and函数也提供了bit_and_agg函数方便用户灵活的去处理位与运算,下表是对bit_and_agg函数的一个使用描述。
函数声明: | BIT_AND_AGG(EXPR); |
功能描述: | 按位聚合函数,按位AND操作 |
输入参数: | EXPR:可以为列名,数据类型可以为数值类型或空值 |
返回值: | NUMBER类型 |
备注: | 支持浮点数运算,向下取整后进行位运算,且该位运算不受排序影响,该函数支持的二进制数列参数所允许的范围为2^127到(2^127) - 1 |
2.2 bit_or_agg
Bit_or_agg函数是一个按位或的运算逻辑,它支持输入可以为列名,数据类型可以为数字或空值,在PG中有和KES类似的函数为bit_or函数,但其只能接受int类型的参数,而KES所提供的该函数不仅可以接受int类型还可以计算浮点类型的数值,它的具体语法如下所示:
Bit_or_agg(number arg)
从函数声明语法的角度可以看出,这个参数接受类型为number类型,即不仅支持整型数据也支持浮点型数据,在KES中不仅提供用于兼容pg的bit_or函数也提供了bit_or_agg函数方便用户灵活的去处理位或运算,下表是对bit_or_agg函数的一个使用描述。
函数声明: | BIT_OR_AGG(EXPR); |
功能描述: | 按位聚合函数,按位OR操作 |
输入参数: | EXPR:可以为列名,数据类型可以为数值类型或空值 |
返回值: | NUMBER类型 |
备注: | 支持浮点数运算,向下取整后进行位运算,且该位运算不受排序影响,该函数支持的二进制数列参数所允许的范围为2^127到(2^127) - 1 |
2.3 bit_xor_agg
Bit_xor_agg函数是一个按位异或的运算逻辑,它支持输入可以为列名,数据类型可以为数字或空值,KES所提供的该函数在PG中不存在,KES所提供的该函数不仅可以接受int类型还可以计算浮点类型的数值,它的具体语法如下所示:
Bit_xor_agg(number arg)
从函数声明语法的角度可以看出,这个参数接受类型为number类型,即不仅支持整型数据也支持浮点型数据,在KES中不提供了bit_xor_agg函数方便用户灵活的去处理位异或运算,下表是对bit_xor_agg函数的一个使用描述。
函数声明: | BIT_XOR_AGG(EXPR); |
功能描述: | 按位聚合函数,按位XOR操作 |
输入参数: | EXPR:可以为列名,数据类型可以为数值类型或空值 |
返回值: | NUMBER类型 |
备注: | 支持浮点数运算,向下取整后进行位运算,且该位运算不受排序影响,该函数支持的二进制数列参数所允许的范围为2^127到(2^127) - 1 |
函数使用技巧
通过第二章节的介绍,我们大致了解了这些聚集函数的基本功能,并且了解了其函数的返回值以及参数类型,那么在了解这些内容的基础上,我们就可以很好的实现这个函数的调用,bit_agg函数是KES的一个插件,在使用过程中需要create extension kdb_oracle_aggex来创建该插件,具体的调用方法如下所示:
Create extension kdb_oracle_aggex;
Select bit_and_agg(col_name) from table;
Select bit_or_agg(col_name) from table;
Select bit_xor_agg(col_name) from table;
我们通过上述语句可以通过对数据库表中的一列的按位与,或,异或运算,来分析表中该列的数据关系等。
总结
在KingbaseES数据库的使用过程中,我们总是要应对各种各样的数据分析与数据处理操作,而对于定性和定量的分析,KingbaseES提供了一些数理统计分析函数来提供将数据的数据趋势进行提取等操作,为用户直观的展示数据库中数据的变化趋势以及数据的分布趋势等信息,帮助用户在其他方面的应用于处理中减轻工作难度,在使用过程中,我们任然需要加强对KingbaseES的探索,因为KingbaseES是一个强大的数据库管理系统,这里任然有许多强大的功能与特性值得我们去发现。