VastbaseG100

基于openGauss内核开发的企业级关系型数据库。

Menu

HashFunc函数

  • hash_array(anyarray)

    描述:数组哈希,将数组的元素通过哈希函数得到结果,并返回合并结果。

    参数:数据类型为anyarray。

    返回值类型:integer

    示例:

    执行查询语句:

    select hash_array(ARRAY[[1,2,3],[1,2,3]]);
    

    结果显示为:

    hash_array 
    ------------
    -382888479
    (1 row)
    
  • hash_numeric(numeric)

    描述:计算Numeric类型的数据的hash值。

    参数:Numeric类型的数据。

    返回值类型:integer

    示例:

    select hash_numeric(30);
    

    结果显示为:

    hash_numeric 
    --------------
      -282860963
    (1 row)
    
  • hash_range(anyrange)

    描述:计算range的哈希值。

    参数:anyrange类型的数据。

    返回值类型:integer

    示例:

    执行查询语句:

    select hash_range(numrange(1.1,2.2));
    

    结果显示为:

    hash_range 
    ------------
      683508754
    (1 row)
    
  • hashbpchar(character)

    描述:计算bpchar的哈希值。

    参数:character类型的数据。

    返回值类型:integer

    示例:

    执行查询语句:

      select hashbpchar('hello');
    

    结果显示为:

      hashbpchar  
      -------------
      -1870292951
      (1 row)
    
  • hashchar(char)

    描述:char和布尔数据转换为哈希值。

    参数:char类型的数据或者bool类型的数据。

    返回值类型:integer

    示例:

    执行查询语句:

    select hashbpchar('hello');
    select hashchar('true');
    

    结果依次显示为:

    hashbpchar  
    -------------
    -1870292951
    (1 row)
    
    hashchar  
    ------------
    1686226652
    (1 row)
    
  • hashenum(anyenum)

    描述:枚举类型转哈希值。

    参数:anyenum类型的数据。

    返回值类型:integer

    示例:

    1、创建数据类型:

    CREATE TYPE b1 AS ENUM('good', 'bad', 'ugly');
    

    2、调用数据类型:

    call hashenum('good'::b1);
    

    返回结果为:

      hashenum  
    ------------
    1821213359
    (1 row)
    
  • hashfloat4(real)

    描述:float4转哈希值。

    参数:real类型的数据。

    返回值类型:integer

    示例:

    执行查询语句:

    select hashfloat4(12.1234);
    

    结果显示为:

    hashfloat4 
    ------------
    1398514061
    (1 row)
    
  • hashfloat8(double precision)

    描述:float8转哈希值。

    参数:double precision类型的数据。

    返回值类型:integer

    示例:

    执行查询语句:

    select hashfloat8(123456.1234);
    

    结果显示为:

    hashfloat8 
    ------------
    1673665593
    (1 row)
    
  • hashinet(inet)

    描述:支持inet / cidr上的哈希索引的功能。返回传入inet的hash值。

    参数:inet类型的数据。

    返回值类型:integer

    示例:

    select hashinet('127.0.0.1'::inet);
    

    结果显示为:

      hashinet   
    -------------
    -1435793109
    (1 row)
    
  • hashint1(tinyint)

    描述:INT1转哈希值。

    参数:tinyint类型的数据。

    返回值类型:uint32

    示例:

    支持查询语句:

    select hashint1(20);
    

    结果显示为:

      hashint1   
    -------------
    -2014641093
    (1 row)
    
  • hashint2(smallint)

    描述:INT2转哈希值。

    参数:smallint类型的数据。

    返回值类型:uint32

    示例:

    执行查询语句:

    select hashint2(20000);
    

    结果显示为:

      hashint2  
    ------------
    -863179081
    (1 row)