• GBase 8c V3.0.0数据类型——HLL函数和操作符(哈希函数)


    1. hll_hash_boolean(bool)

    描述:对bool类型数据计算哈希值。

    返回值类型:hll_hashval

    示例:

     gbase=# SELECT hll_hash_boolean(FALSE);

      hll_hash_boolean   

    ---------------------

     -5451962507482445012

    (1 row)

    1. hll_hash_boolean(bool, int32)

    描述:设置hash seed(即改变哈希策略)并对bool类型数据计算哈希值。

    返回值类型:hll_hashval

    示例:

     gbase=# SELECT hll_hash_boolean(FALSE, 10);

      hll_hash_boolean  

    --------------------

     -1169037589280886076

    (1 row)

    1. hll_hash_smallint(smallint)

    描述:对smallint类型数据计算哈希值。

    返回值类型:hll_hashval

    示例:

     gbase=# SELECT hll_hash_smallint(100::smallint);

      hll_hash_smallint  

    ---------------------

     962727970174027904

    (1 row)

    数值大小相同的参数使用不同数据类型的哈希函数计算,最后结果会不一样,因为不同类型哈希函数会选取不同的哈希计算策略。

    1. hll_hash_smallint(smallint, int32)

    描述:设置hash seed(即改变哈希策略)同时对smallint类型数据计算哈希值。

    返回值类型:hll_hashval

    示例:

     gbase=# SELECT hll_hash_smallint(100::smallint, 10);

      hll_hash_smallint  

    ---------------------

     -9056177146160443041

    (1 row)

    1. hll_hash_integer(integer)

    描述:对integer类型数据计算哈希值。

    返回值类型:hll_hashval

    示例:

     gbase=# SELECT hll_hash_integer(0);

       hll_hash_integer   

    ----------------------

     5156626420896634997

    (1 row)

    1. hll_hash_integer(integer, int32)

    描述:对integer类型数据计算哈希值,并设置hashseed(即改变哈希策略)。

    返回值类型:hll_hashval

    示例:

     gbase=# SELECT hll_hash_integer(0, 10);

      hll_hash_integer  

    --------------------

     -5035020264353794276

    (1 row)

    1. hll_hash_bigint(bigint)

    描述:对bigint类型数据计算哈希值。

    返回值类型:hll_hashval

    示例:

     gbase=# SELECT hll_hash_bigint(100::bigint);

       hll_hash_bigint   

    ---------------------

     -2401963681423227794

    (1 row)

    1. hll_hash_bigint(bigint, int32)

    描述:对bigint类型数据计算哈希值,并设置hashseed(即改变哈希策略)。

    返回值类型:hll_hashval

    示例:

     gbase=# SELECT hll_hash_bigint(100::bigint, 10);

       hll_hash_bigint   

    ---------------------

     -2305749404374433531

    (1 row)

    1. hll_hash_bytea(bytea)

    描述:对bytea类型数据计算哈希值。

    返回值类型:hll_hashval

    示例:

     gbase=# SELECT hll_hash_bytea(E'\\x');

     hll_hash_bytea

    ----------------

     0

    (1 row)

    1. hll_hash_bytea(bytea, int32)

    描述:对bytea类型数据计算哈希值,并设置hashseed(即改变哈希策略)。

    返回值类型:hll_hashval

    示例:

     gbase=# SELECT hll_hash_bytea(E'\\x', 10);

       hll_hash_bytea    

    ---------------------

     7233188113542599437

    (1 row)

    1. hll_hash_text(text)

    描述:对text类型数据计算哈希值。

    返回值类型:hll_hashval

    示例:

     gbase=# SELECT hll_hash_text('AB');

        hll_hash_text    

    ---------------------

     -5666002586880275174

    (1 row)

    1. hll_hash_text(text, int32)

    描述:对text类型数据计算哈希值,并设置hashseed(即改变哈希策略)。

    返回值类型:hll_hashval

    示例:

     gbase=# SELECT hll_hash_text('AB', 10);

    hll_hash_text

    ---------------------

    -2215507121143724132

    (1 row)

    1. hll_hash_any(anytype)

    描述:对任意类型数据计算哈希值。

    返回值类型:hll_hashval

    示例:

     gbase=# select hll_hash_any(1);

         hll_hash_any     

    ----------------------

     -1316670585935156930

    (1 row)

        

    gbase=# select hll_hash_any('08:00:2b:01:02:03'::macaddr);

         hll_hash_any     

    ----------------------

     -3719950434455589360

    (1 row)

    1. hll_hash_any(anytype, int32)

    描述:对任意类型数据计算哈希值,并设置hashseed(即改变哈希策略)。

    返回值类型:hll_hashval

    示例:

     gbase=# select hll_hash_any(1, 10);

         hll_hash_any     

    ----------------------

     7048553517657992351

    (1 row)

    1. hll_hashval_eq(hll_hashval, hll_hashval)

    描述:比较两个hll_hashval类型数据是否相等。

    返回值类型:bool

    示例:

     gbase=# select hll_hashval_eq(hll_hash_integer(1), hll_hash_integer(1));

     hll_hashval_eq

    ----------------

     t

    (1 row)

    1. hll_hashval_ne(hll_hashval, hll_hashval)

    描述:比较两个hll_hashval类型数据是否不相等。

    返回值类型:bool

    示例:

     gbase=# select hll_hashval_ne(hll_hash_integer(1), hll_hash_integer(1));

     hll_hashval_ne

    ----------------

     f

    (1 row)

  • 相关阅读:
    只需5分钟,完成Redis所有命令操作~
    6月27日云技术研讨会 | 中央集中架构新车型功能和网络测试解决方案
    ModifyAjaxResponse,修改ajax请求返回值,前后端调试之利器
    数据结构和算法——基于Java——3.1链表(单链表)
    什么是活动目录(Active Directory)
    可移动表空间
    大文件上传时如何做到 秒传?
    CSS 渐变彩色字体
    企业级数据安全,天翼云是这样理解的
    实验室没人导该怎么办
  • 原文地址:https://blog.csdn.net/futianxia061112/article/details/125439318