• 沒有找到結果。

4EBD3C74A17A11E9A1BF797FF7000001 (1 row)

说明

sys_guid函数内部生成原理同uuid_generate_v1函数。

6.14 JSON 函数

JSON函数表示可以用于JSON类型(请参考JSON类型)数据的函数。

● array_to_json(anyarray [, pretty_bool])

描述:返回JSON类型的数组。一个多维数组成为一个JSON数组的数组。如果 pretty_bool为true,将在一维元素之间添加换行符。

返回类型:json 示例:

SELECT array_to_json('{{1,5},{99,100}}'::int[]);

array_to_json ---[[1,5],[99,100]]

(1 row)

● row_to_json(record [, pretty_bool])

描述:返回JSON类型的行。如果pretty_bool为true,将在第一级元素之间添加换 行符。

返回类型:json 示例:

SELECT row_to_json(row(1,'foo'));

row_to_json {"f1":1,"f2":"foo"}

(1 row)

6.15 HLL 函数和操作符

哈希函数

● hll_hash_boolean(bool)

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

返回值类型:hll_hashval 示例:SELECT hll_hash_boolean(FALSE);

hll_hash_boolean 5048724184180415669 (1 row)

● hll_hash_boolean(bool, int32)

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

返回值类型:hll_hashval 示例:

SELECT hll_hash_boolean(FALSE, 10);

hll_hash_boolean 391264977436098630 (1 row)

● hll_hash_smallint(smallint)

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

返回值类型:hll_hashval 示例:

SELECT hll_hash_smallint(100::smallint);

hll_hash_smallint 4631120266694327276 (1 row)

说明

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

● hll_hash_smallint(smallint, int32)

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

返回值类型:hll_hashval 示例:

SELECT hll_hash_smallint(100::smallint, 10);

hll_hash_smallint 8349353095166695771 (1 row)

● hll_hash_integer(integer)

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

返回值类型:hll_hashval 示例:

SELECT hll_hash_integer(0);

hll_hash_integer -3485513579396041028 (1 row)

● hll_hash_integer(integer, int32)

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

返回值类型:hll_hashval 示例:

SELECT hll_hash_integer(0, 10);

hll_hash_integer 183371090322255134 (1 row)

● hll_hash_bigint(bigint)

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

返回值类型:hll_hashval 示例:

SELECT hll_hash_bigint(100::bigint);

hll_hash_bigint 8349353095166695771 (1 row)

● hll_hash_bigint(bigint, int32)

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

返回值类型:hll_hashval 示例:

SELECT hll_hash_bigint(100::bigint, 10);

hll_hash_bigint 4631120266694327276 (1 row)

● hll_hash_bytea(bytea)

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

返回值类型:hll_hashval 示例:

SELECT hll_hash_bytea(E'\\x');

hll_hash_bytea 0(1 row)

● hll_hash_bytea(bytea, int32)

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

返回值类型:hll_hashval 示例:

SELECT hll_hash_bytea(E'\\x', 10);

hll_hash_bytea 6574525721897061910 (1 row)

● hll_hash_text(text)

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

返回值类型:hll_hashval 示例:

SELECT hll_hash_text('AB');

hll_hash_text 5365230931951287672 (1 row)

● hll_hash_text(text, int32)

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

返回值类型:hll_hashval 示例:

SELECT hll_hash_text('AB', 10);

hll_hash_text ---7680762839921155903 (1 row)

● hll_hash_any(anytype)

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

返回值类型:hll_hashval 示例:

select hll_hash_any(1);

hll_hash_any -8604791237420463362 (1 row)

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

hll_hash_any -4883882473551067169 (1 row)

● hll_hash_any(anytype, int32)

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

返回值类型:hll_hashval 示例:

select hll_hash_any(1, 10);

hll_hash_any -1478847531811254870 (1 row)

● hll_hashval_eq(hll_hashval, hll_hashval) 描述:比较两个hll_hashval类型数据是否相等。

返回值类型:bool 示例:

select hll_hashval_eq(hll_hash_integer(1), hll_hash_integer(1));

hll_hashval_eq t(1 row)

● hll_hashval_ne(hll_hashval, hll_hashval)

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

返回值类型:bool 示例:

select hll_hashval_ne(hll_hash_integer(1), hll_hash_integer(1));

hll_hashval_ne f(1 row)