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

  • 相关阅读:
    LeetCode每日一题(1770. Maximum Score from Performing Multiplication Operations)
    ChatGPT:突破写作限制,开启论文写作新境界
    Java NIO与IO的区别和比较
    Qt QSS 属性 vs QObject属性
    Java老人护理上门服务类型系统小程序APP源码
    如何根据不同需求给Word文档设置保护?
    .NET Core 中的 ORM 框架对比
    每日学一个设计模式22——命令模式
    【三维重建NeRF(三)】Mip-NeRF论文解读
    Nginx基础组件的使用
  • 原文地址:https://blog.csdn.net/futianxia061112/article/details/125439318