• 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)

  • 相关阅读:
    滑动窗口算法题
    大数据之Set/Map集合
    云服务器相比较物理服务器的好处有哪些?
    2023年09月 C/C++(六级)真题解析#中国电子学会#全国青少年软件编程等级考试
    秋招每日一题T19——哈夫曼树
    机器学习/深度学习模型的8个测试属性
    JAVA基础 - Serializable的作用与用法
    小侃设计模式(八)-装饰者模式
    (02)Cartographer源码无死角解析-(32) LocalTrajectoryBuilder2D::AddRangeData()→点云的体素滤波
    Nginx + tomcat 的搭建
  • 原文地址:https://blog.csdn.net/futianxia061112/article/details/125439318