内建函数

数组函数

函数 → 返回值描述
array_append(array: bool[], elem: bool) → bool[]向数组增加新的元素,返回其结果。
array_append(array: bytes[], elem: bytes) → bytes[]向数组增加新的元素,返回其结果。
array_append(array: date[], elem: date) → date[]向数组增加新的元素,返回其结果。
array_append(array: decimal[], elem: decimal) → decimal[]向数组增加新的元素,返回其结果。
array_append(array: float[], elem: float) → float[]向数组增加新的元素,返回其结果。
array_append(array: inet[], elem: inet) → inet[]向数组增加新的元素,返回其结果。
array_append(array: int[], elem: int) → int[]向数组增加新的元素,返回其结果。
array_append(array: interval[], elem: interval) → interval[]向数组增加新的元素,返回其结果。
array_append(array: string[], elem: string) → string[]向数组增加新的元素,返回其结果。
array_append(array: time[], elem: time) → time[]向数组增加新的元素,返回其结果。
array_append(array: timestamp[], elem: timestamp) → timestamp[]向数组增加新的元素,返回其结果。
array_append(array: timestamptz[], elem: timestamptz) → timestamptz[]向数组增加新的元素,返回其结果。
array_append(array: uuid[], elem: uuid) → uuid[]向数组增加新的元素,返回其结果。
array_append(array: oid[], elem: oid) → oid[]向数组增加新的元素,返回其结果。
array_append(array: varbit[], elem: varbit) → varbit[]向数组增加新的元素,返回其结果。
array_cat(left: bool[], right: bool[]) → bool[]连接两个数组。
array_cat(left: bytes[], right: bytes[]) → bytes[]连接两个数组。
array_cat(left: date[], right: date[]) → date[]连接两个数组。
array_cat(left: decimal[], right: decimal[]) → decimal[]连接两个数组。
array_cat(left: float[], right: float[]) → float[]连接两个数组。
array_cat(left: inet[], right: inet[]) → inet[]连接两个数组。
array_cat(left: int[], right: int[]) → int[]连接两个数组。
array_cat(left: interval[], right: interval[]) → interval[]连接两个数组。
array_cat(left: string[], right: string[]) → string[]连接两个数组。
array_cat(left: time[], right: time[]) → time[]连接两个数组。
array_cat(left: timestamp[], right: timestamp[]) → timestamp[]连接两个数组。
array_cat(left: timestamptz[], right: timestamptz[]) → timestamptz[]连接两个数组。
array_cat(left: uuid[], right: uuid[]) → uuid[]连接两个数组。
array_cat(left: oid[], right: oid[]) → oid[]连接两个数组。
array_cat(left: varbit[], right: varbit[]) → varbit[]连接两个数组。
array_length(input:anyelement[],array_dimension: int) → int以array_dimension维度计算input的长度。不过,由于ZNBASE尚不支持多维数组,因此唯一支持的array_dimension为1。
array_lower(input:anyelement[],array_dimension: int) → int以array_dimension维度计算input中的最小值。不过,由于ZNBASE尚不支持多维数组,因此唯一支持的array_dimension为1。
array_position(array: bool[], elem: bool) → int返回数组中第一次出现elem元素的索引。
array_position(array: bytes[], elem: bytes) → int返回数组中第一次出现elem元素的索引。
array_position(array: date[], elem: date) → int返回数组中第一次出现elem元素的索引。
array_position(array: decimal[], elem: decimal) → int返回数组中第一次出现elem元素的索引。
array_position(array: float[], elem: float) → int返回数组中第一次出现elem元素的索引。
array_position(array: inet[], elem: inet) → int返回数组中第一次出现elem元素的索引。
array_position(array: int[], elem: int) → int返回数组中第一次出现elem元素的索引。
array_position(array: interval[], elem: interval) → int返回数组中第一次出现elem元素的索引。
array_position(array: string[], elem: string) → int返回数组中第一次出现elem元素的索引。
array_position(array: time[], elem: time) → int返回数组中第一次出现elem元素的索引。
array_position(array:timestamp[],elem:timestamp) → int返回数组中第一次出现elem元素的索引。
array_position(array:timestamptz[],elem:timestamptz) → int返回数组中第一次出现elem元素的索引。
array_position(array: uuid[], elem: uuid) → int返回数组中第一次出现elem元素的索引。
array_position(array: oid[], elem: oid) → int返回数组中第一次出现elem元素的索引。
array_position(array: varbit[], elem: varbit) → int返回数组中第一次出现elem元素的索引。
array_positions(array: bool[], elem: bool) → int[]返回数组中出现elem元素的所有索引。
array_positions(array: bytes[], elem: bytes) → int[]返回数组中出现elem元素的所有索引。
array_positions(array: date[], elem: date) → int[]返回数组中出现elem元素的所有索引。
array_positions(array: decimal[], elem: decimal) → int[]返回数组中出现elem元素的所有索引。
array_positions(array: float[], elem: float) → int[]返回数组中出现elem元素的所有索引。
array_positions(array: inet[], elem: inet) → int[]返回数组中出现elem元素的所有索引。
array_positions(array: int[], elem: int) → int[]返回数组中出现elem元素的所有索引。
array_positions(array: interval[], elem: interval) → int[]返回数组中出现elem元素的所有索引。
array_positions(array: string[], elem: string) → int[]返回数组中出现elem元素的所有索引。
array_positions(array: time[], elem: time) → int[]返回数组中出现elem元素的所有索引。
array_positions(array:timestamp[],elem:timestamp) → int[]返回数组中出现elem元素的所有索引。
array_positions(array:timestamptz[],elem:timestamptz) → int[]返回数组中出现elem元素的所有索引。
array_positions(array: uuid[], elem: uuid) → int[]返回数组中出现elem元素的所有索引。
array_positions(array: oid[], elem: oid) → int[]返回数组中出现elem元素的所有索引。
array_positions(array: varbit[], elem: varbit) → int[]返回数组中出现elem元素的所有索引。
array_prepend(elem: bool, array: bool[]) → bool[]将元素放到数组前,返回结果。
array_prepend(elem: bytes, array: bytes[]) → bytes[]将元素放到数组前,返回结果。
array_prepend(elem: date, array: date[]) → date[]将元素放到数组前,返回结果。
array_prepend(elem: decimal, array: decimal[]) → decimal[]将元素放到数组前,返回结果。
array_prepend(elem: float, array: float[]) → float[]将元素放到数组前,返回结果。
array_prepend(elem: inet, array: inet[]) → inet[]将元素放到数组前,返回结果。
array_prepend(elem: int, array: int[]) → int[]将元素放到数组前,返回结果。
array_prepend(elem: interval, array: interval[]) → interval[]将元素放到数组前,返回结果。
array_prepend(elem: string, array: string[]) → string[]将元素放到数组前,返回结果。
array_prepend(elem: time, array: time[]) → time[]将元素放到数组前,返回结果。
array_prepend(elem:timestamp,array:timestamp[]) → timestamp[]将元素放到数组前,返回结果。
array_prepend(elem:timestamptz,array:timestamptz[]) → timestamptz[]将元素放到数组前,返回结果。
array_prepend(elem: uuid, array: uuid[]) → uuid[]将元素放到数组前,返回结果。
array_prepend(elem: oid, array: oid[]) → oid[]将元素放到数组前,返回结果。
array_prepend(elem: varbit, array: varbit[]) → varbit[]将元素放到数组前,返回结果。
array_remove(array: bool[], elem: bool) → bool[]从数组中删除所有等于elem的元素。
array_remove(array: bytes[], elem: bytes) → bytes[]从数组中删除所有等于elem的元素。
array_remove(array: date[], elem: date) → date[]从数组中删除所有等于elem的元素。
array_remove(array: decimal[], elem: decimal) → decimal[]从数组中删除所有等于elem的元素。
array_remove(array: float[], elem: float) → float[]从数组中删除所有等于elem的元素。
array_remove(array: inet[], elem: inet) → inet[]从数组中删除所有等于elem的元素。
array_remove(array: int[], elem: int) → int[]从数组中删除所有等于elem的元素。
array_remove(array: interval[], elem: interval) → interval[]从数组中删除所有等于elem的元素。
array_remove(array: string[], elem: string) → string[]从数组中删除所有等于elem的元素。
array_remove(array: time[], elem: time) → time[]从数组中删除所有等于elem的元素。
array_remove(array:timestamp[],elem:timestamp) → timestamp[]从数组中删除所有等于elem的元素。
array_remove(array:timestamptz[],elem:timestamptz) → timestamptz[]从数组中删除所有等于elem的元素。
array_remove(array: uuid[], elem: uuid) → uuid[]从数组中删除所有等于elem的元素。
array_remove(array: oid[], elem: oid) → oid[]从数组中删除所有等于elem的元素。
array_remove(array: varbit[], elem: varbit) → varbit[]从数组中删除所有等于elem的元素。
array_replace(array: bool[], toreplace: bool, replacewith: bool) → bool[]用replacewith替换数组中所有出现的toreplace。
array_replace(array: bytes[], toreplace: bytes, replacewith: bytes) → bytes[]用replacewith替换数组中所有出现的toreplace。
array_replace(array: date[], toreplace: date, replacewith: date) → date[]用replacewith替换数组中所有出现的toreplace。
array_replace(array: decimal[], toreplace: decimal, replacewith: decimal) → decimal[]用replacewith替换数组中所有出现的toreplace。
array_replace(array: float[], toreplace: float, replacewith: float) → float[]用replacewith替换数组中所有出现的toreplace。
array_replace(array: inet[], toreplace: inet, replacewith: inet) → inet[]用replacewith替换数组中所有出现的toreplace。
array_replace(array: int[], toreplace: int, replacewith: int) → int[]用replacewith替换数组中所有出现的toreplace。
array_replace(array: interval[], toreplace: interval, replacewith: interval) → interval[]用replacewith替换数组中所有出现的toreplace。
array_replace(array: string[], toreplace: string, replacewith: string) → string[]用replacewith替换数组中所有出现的toreplace。
array_replace(array: time[], toreplace: time, replacewith: time) → time[]用replacewith替换数组中所有出现的toreplace。
array_replace(array: timestamp[], toreplace: timestamp, replacewith: timestamp) → timestamp[]用replacewith替换数组中所有出现的toreplace。
array_replace(array: timestamptz[], toreplace: timestamptz, replacewith: timestamptz) → timestamptz[]用replacewith替换数组中所有出现的toreplace。
array_replace(array: uuid[], toreplace: uuid, replacewith: uuid) → uuid[]用replacewith替换数组中所有出现的toreplace。
array_replace(array: oid[], toreplace: oid, replacewith: oid) → oid[]用replacewith替换数组中所有出现的toreplace。
array_replace(array: varbit[], toreplace: varbit, replacewith: varbit) → varbit[]用replacewith替换数组中所有出现的toreplace。
array_to_string(input: anyelement[], delim: string) → string用定界符delimiter将数组元素连接为一个字符串。
array_to_string(input: anyelement[], delimiter: string, null: string) → string用定界符delimiter将数组元素连接为一个字符串,把NULL替换为字符串null。
array_upper(input: anyelement[], array_dimension: int) → int以array_dimension维度计算input中的最大值。不过,由于ZNBASE尚不支持多维数组,因此唯一支持的array_dimension为1。
string_to_array(str: string, delimiter: string) → string[]用定界符delimiter将字符串进行拆分。
string_to_array(str: string, delimiter: string, null: string) → string[]用定界符delimiter将字符串进行拆分,将字符串null识别为NULL。

布尔函数

函数 → 返回值描述
ilike_escape(unescaped: string, pattern: string, escape: string) → boolpattern使用escape作为转义标记来匹配不区分大小写的unescaped。
inet_contained_by_or_equals(val: inet, container: inet) → bool仅使用地址的网络部分测试子网是否包含或相等。 地址的主机部分被忽略。
inet_contains_or_equals(container: inet, val: inet) → bool仅使用地址的网络部分测试子网是否包含或相等。 地址的主机部分被忽略。
inet_same_family(val: inet, val: inet) → bool检查两个IP是否属于同一个IP family。
like_escape(unescaped: string, pattern: string, escape: string) → boolpattern使用escape作为转义标记来匹配unescaped。
not_ilike_escape(unescaped: string, pattern: string, escape: string) → bool检查pattern使用escape作为转义标记是否不匹配不区分大小写的unescaped。
not_like_escape(unescaped: string, pattern: string, escape: string) → bool检查pattern使用escape作为转义标记是否不匹配unescaped。
not_similar_to_escape(unescaped: string, pattern: string, escape: string) → bool检查pattern使用escape作为转义标记是否不匹配unescaped。
similar_to_escape(unescaped: string, pattern: string, escape: string) → boolpattern使用escape作为转义标记来匹配unescaped。

比较函数

函数 → 返回值描述
greatest(anyelement…) → anyelement返回值最大的元素。
least(anyelement…) → anyelement返回值最小的元素。

日期和时间函数

函数 → 返回值描述
age(end: timestamptz, begin: timestamptz) → interval计算之间的时间间隔begin和end。
age(val: timestamptz) → interval计算val与当前时间之间的间隔。
clock_timestamp() → timestamp返回其中一个群集节点上的当前系统时间。
clock_timestamp() → timestamptz返回其中一个群集节点上的当前系统时间。
current_date() → date返回当前事务的日期。 该值基于事务开始时选择的时间戳,并且在整个事务中保持不变。 此时间戳与并发事务的提交顺序无关。
current_timestamp() → date返回当前事务的时间。 该值基于事务开始时选择的时间戳,并且在整个事务中保持不变。 此时间戳与并发事务的提交顺序无关。
current_timestamp() → timestamp返回当前事务的时间。 该值基于事务开始时选择的时间戳,并且在整个事务中保持不变。 此时间戳与并发事务的提交顺序无关。
current_timestamp() → timestamptz返回当前事务的时间。 该值基于事务开始时选择的时间戳,并且在整个事务中保持不变。 此时间戳与并发事务的提交顺序无关。
date_part(text,timestamp) → int截取时间戳的数值,取决于text的类型
date_part(text,timestamptz) → int截取时间戳的数值,取决于text的类型,在其基础上添加时区
date_part(text,interval) → int截取时间间隔类型的数值,取决于text的类型
date_trunc(element: string, input: date) → timestamptz将input截断成精度为element,将所有无意义的字段设为0(或对于日期和月份则设为1) 。 兼容元素: millennium, century, decade, year, quarter, month, week, day, hour, minute, second, millisecond, microsecond.
date_trunc(element: string, input: time) → interval将input截断成精度为element,将所有无意义的字段设为0。 兼容元素: hour, minute, second, millisecond, microsecond.
date_trunc(element: string, input: timestamp) → timestamp将input截断成精度为element,将所有无意义的字段设为0(或对于日期和月份则设为1) 。 兼容元素: millennium, century, decade, year, quarter, month, week, day, hour, minute, second, millisecond, microsecond.
date_trunc(element: string, input: timestamptz) → timestamptz将input截断成精度为element,将所有无意义的字段设为0(或对于日期和月份则设为1) 。 兼容元素: millennium, century, decade, year, quarter, month, week, day, hour, minute, second, millisecond, microsecond.
experimental_follower_read_timestamp() → timestamptz返回一个时间戳,很可能可以安全地针对跟随者副本执行。 此函数旨在与AS OF SYSTEM TIME子句一起使用,以对最近的时间执行历史读取,但该时间足够长,以便针对给定范围内的当前租户而不是最近的副本执行读取。 请注意,此功能需要CCL发行版上的企业许可证,否则会返回错误。
experimental_strftime(input: date, extract_format: string) → string从input中提取并格式化成extract_format标识的时间,extract_format使用标准的strftime表示法(尽管不支持所有格式)。
experimental_strftime(input: timestamp, extract_format: string) → string从input中提取并格式化成extract_format标识的时间,extract_format使用标准的strftime表示法(尽管不支持所有格式)。
experimental_strftime(input: timestamptz, extract_format: string) → string从input中提取并格式化成extract_format标识的时间,extract_format使用标准的strftime表示法(尽管不支持所有格式)。
experimental_strptime(input: string, format: string) → timestamptz使用format(使用标准strptime格式)将input作为timestamptz返回。
extract(element: string, input: date) → int从input中提取element。 兼容元素: millennium, century, decade, year, isoyear, quarter, month, week, dayofweek, isodow, dayofyear, julian, hour, minute, second, millisecond, microsecond, epoch
extract(element: string, input: time) → int从input中提取element。 兼容元素: hour, minute, second, millisecond, microsecond, epoch
extract(element: string, input: timestamp) → int从input中提取element。 兼容元素: millennium, century, decade, year, isoyear, quarter, month, week, dayofweek, isodow, dayofyear, julian, hour, minute, second, millisecond, microsecond, epoch
extract(element: string, input: timestamptz) → int从input中提取element。 兼容元素: millennium, century, decade, year, isoyear, quarter, month, week, dayofweek, isodow, dayofyear, julian, hour, minute, second, millisecond, microsecond, epoch
extract_duration(element: string, input: interval) → int从input中提取element。 兼容元素: hour, minute, second, millisecond, microsecond.
now() → date返回当前事务的时间。 该值基于事务开始时选择的时间戳,并且在整个事务中保持不变。 此时间戳与并发事务的提交顺序无关。
now() → timestamp返回当前事务的时间。 该值基于事务开始时选择的时间戳,并且在整个事务中保持不变。 此时间戳与并发事务的提交顺序无关。
now() → timestamptz返回当前事务的时间。 该值基于事务开始时选择的时间戳,并且在整个事务中保持不变。 此时间戳与并发事务的提交顺序无关。
local_now() → date返回本地当前的日期值。
local_now() → timestamp返回本地当前的不带时区的时间戳。
local_now() → timestamptz返回本地当前的带时区的时间戳。
timezone(timezone: string, timestamp: timestamp) → timestamptz将timestamp转换为指定时区的timestamptz类型
timezone(timezone: string,timestamptz: timestamptz) → timestamp将timestamptz转换到新的时区,返回不带时区的timestamp类型
timezone(timezone: string,timestamptz: timestamptz) → timestamp切换到新的时区,返回不带时区的timestamp类型
transaction_timestamp() → date返回当前事务的时间。 该值基于事务开始时选择的时间戳,并且在整个事务中保持不变。 此时间戳与并发事务的提交顺序无关。
transaction_timestamp() → timestamp返回当前事务的时间。 该值基于事务开始时选择的时间戳,并且在整个事务中保持不变。 此时间戳与并发事务的提交顺序无关。
transaction_timestamp() → timestamptz返回当前事务的时间。 该值基于事务开始时选择的时间戳,并且在整个事务中保持不变。 此时间戳与并发事务的提交顺序无关。

ID生成函数

函数 → 返回值描述
experimental_uuid_v4() → bytes返回一个 UUID。
gen_random_uuid() → uuid生成随机 UUID 并将其作为 UUID 类型的值返回。
unique_rowid() → int如果表未定义主键,则返回一个唯一 ID,该 ID 被 ZNBASE 用于生成唯一的行 ID。该值是插入时间戳和执行语句的节点的ID的组合,这保证了此组合是全局唯一的。
uuid_v4() → bytes返回一个 UUID。

网络函数

函数 → 返回值描述
abbrev(val: inet) → string将IP地址和前缀长度转换为文本类型的缩写显示格式。 对于INET类型,如果它不是默认值(IPv4为32,IPv6为128),将省略前缀长度。 例如,abbrev(‘192.168.1.2/24’)返回’192.168.1.2/24’。
broadcast(val: inet) → inet获取val表示的网络地址的广播地址。 例如,broadcast (‘192.168.1.2/24’)返回’192.168.1.255/24’。
family(val: inet) → int提取val的IP family; IPv4为4,IPv6为6。例如,family(‘::1’)返回6。
host(val: inet) → string将组合地址/前缀值的地址部分提取为文本。例如,host(‘192.168.1.2/16’)返回’192.168.1.2’。
hostmask(val: inet) → inet创建与val中的前缀长度对应的IP主机掩码。
例如,hostmask(‘192.168.1.2/16’)返回’0.0.255.255’。
masklen(val: inet) → int检索存储在val中的前缀长度。 例如,masklen(‘192.168.1.2/16’)返回16。
netmask(val: inet) → inet创建与val中的前缀长度对应的IP网络掩码。
例如,网络掩码(‘192.168.1.2/16’)返回’255.255.0.0’。
set_masklen(val: inet, prefixlen: int) → inet将val的前缀长度设置为prefixlen。  例如,set_masklen(‘192.168.1.2’,16)返回’192.168.1.2/16’。
text(val: inet) → string将IP地址和前缀长度转换为文本格式。

JSONB 函数

函数 → 返回值描述
array_to_json(array: anyelement[]) → jsonb将数组返回为JSON或JSONB。
array_to_json(array: anyelement[], pretty_bool: bool) → jsonb将数组返回为JSON或JSONB。
json_array_length(json: jsonb) → int返回JSON或JSONB数组中最外层元素的数量。
json_build_array(anyelement…) → jsonb从可变参数列表构建可能异构类型(possibly-heterogeneously-typed)的JSON或JSONB数组。
json_build_object(anyelement…) → jsonb从可变参数列表构建JSON对象。
json_extract_path(jsonb, string…) → jsonb返回可变参数指向的JSON值。
json_object(keys: string[], values: string[]) → jsonb这种形式的json_object从两个独立的数组中成对获取键和值。 在所有其他方面,它与单参数形式相同。
json_object(texts: string[]) → jsonb从文本数组中构建JSON或JSONB对象。 数组必须是一个具有偶数个成员的一维数组,在这种情况下,它们被视为交替的键/值对。
json_remove_path(val: jsonb, path: string[]) → jsonb从JSON对象中删除指定的路径。
json_set(val: jsonb, path: string[], to: jsonb) → jsonb返回可变参数指向的JSON值。
json_set(val: jsonb, path: string[], to: jsonb, create_missing: bool) → jsonb返回可变参数指向的JSON值。 如果create_missing为false,则不会将新key插入到对象中,并且值也不会被添加到数组。
json_strip_nulls(from_json: jsonb) → jsonb返回from_json,其中包含省略空值的所有对象字段。 其他空值不受影响。
json_typeof(val: jsonb) → string以文本字符串形式返回最外层JSON值的类型。
jsonb_array_length(json: jsonb) → int返回最外层JSON或JSONB数组中的元素的数量。
jsonb_build_array(anyelement…) → jsonb从可变参数列表构建可能异构类型(possibly-heterogeneously-typed)的JSON或JSONB数组。
jsonb_build_object(anyelement…) → jsonb从可变参数列表构建JSON对象。
jsonb_extract_path(jsonb, string…) → jsonb返回可变参数指向的JSON值。
jsonb_insert(target: jsonb, path: string[], new_val: jsonb) → jsonb返回可变参数所指向的JSON值。 new_val将在路径目标之前插入。
jsonb_insert(target: jsonb, path: string[], new_val: jsonb, insert_after: bool) → jsonb返回可变参数所指向的JSON值。 如果insert_after为true(默认为false),则将new_val插入到路径目标之后。
jsonb_object(keys: string[], values: string[]) → jsonb这种形式的jsonb_object从两个独立的数组中成对获取键和值。 在所有其他方面,它与单参数形式相同。
jsonb_object(texts: string[]) → jsonb从文本数组中构建JSON或JSONB对象。 数组必须是一个具有偶数个成员的一维数组,这种情况下,它们被视为交替的键/值对。
jsonb_pretty(val: jsonb) → string返回给定的JSON值,作为缩进的STRING和换行符。
jsonb_set(val: jsonb, path: string[], to: jsonb) → jsonb返回可变参数指向的JSON值。
jsonb_set(val: jsonb, path: string[], to: jsonb, create_missing: bool) → jsonb返回可变参数指向的JSON值。 如果create_missing为false,则不会将新key插入到对象中,并且值也不会被添加到数组。
jsonb_strip_nulls(from_json: jsonb) → jsonb返回from_json,其中包含省略空值的所有对象字段。 其他空值不受影响。
jsonb_typeof(val: jsonb) → string以文本字符串形式返回最外层JSON值的类型。
to_json(val: anyelement) → jsonb将val返回为JSON或JSONB。
to_jsonb(val: anyelement) → jsonb将val返回为JSON或JSONB。

数学和数值函数

函数 → 返回值描述
abs(val: decimal) → decimal计算val的绝对值。
abs(val: float) → float计算val的绝对值。
abs(val: int) → int计算val的绝对值。
acos(val: float) → float计算val的反余弦值。
asin(val: float) → float计算val的反正弦值。
atan(val: float) → float计算val的反正切值。
atan2(x: float, y: float) → float计算x / y的反正切。
cbrt(val: decimal) → decimal计算val的立方根(∛)。
cbrt(val: float) → float计算val的立方根(∛)。
ceil(val: decimal) → decimal计算大于val的最小整数。
ceil(val: float) → float计算大于val的最小整数。
ceiling(val: decimal) → decimal计算大于val的最小整数。
ceiling(val: float) → float计算大于val的最小整数。
cos(val: float) → float计算val的余弦值。
cot(val: float) → float计算val的余切值。
crc32c(bytes…) → int使用Castagnoli多项式计算CRC-32哈希值。
crc32c(string…) → int使用Castagnoli多项式计算CRC-32哈希值。
crc32ieee(bytes…) → int使用IEEE多项式计算CRC-32哈希值。
crc32ieee(string…) → int使用IEEE多项式计算CRC-32哈希值。
degrees(val: float) → float将val作为弧度值转换为度数值。(a degree value)
div(x: decimal, y: decimal) → decimal计算x/y的整数商。
div(x: float, y: float) → float计算x / y的整数商。
div(x: int, y: int) → int计算x / y的整数商。
exp(val: decimal) → decimal计算e ^ val。
exp(val: float) → float计算e ^ val。
floor(val: decimal) → decimal计算不大于val的最大整数。
floor(val: float) → float计算不大于val的最大整数。
fnv32(bytes…) → int计算一组值的32位FNV-1哈希值。
fnv32(string…) → int计算一组值的32位FNV-1哈希值。
fnv32a(bytes…) → int计算不大于val的最大整数。
fnv32a(string…) → int计算不大于val的最大整数。
fnv64(bytes…) → int计算一组值的64位FNV-1哈希值。
fnv64(string…) → int计算一组值的64位FNV-1哈希值。
fnv64a(bytes…) → int计算一组值的64位FNV-1a哈希值。
fnv64a(string…) → int计算一组值的64位FNV-1a哈希值。
isnan(val: decimal) → bool如果val是NaN,则返回true,否则返回false。
isnan(val: float) → bool如果val是NaN,则返回true,否则返回false。
ln(val: decimal) → decimal计算val的自然对数。
ln(val: float) → float计算val的自然对数。
log(val: decimal) → decimal计算val的基数为10的log。
log(val: float) → float计算val的基数为10的log。
mod(x: decimal, y: decimal) → decimal计算x%y。
mod(x: float, y: float) → float计算x%y。
mod(x: int, y: int) → int计算x%y。
pi() → float返回pi的值(3.141592653589793)。
pow(x: decimal, y: decimal) → decimal计算x^y。
pow(x: float, y: float) → float计算x^y。
pow(x: int, y: int) → int计算x^y。
power(x: decimal, y: decimal) → decimal计算x^y。
power(x: float, y: float) → float计算x^y。
power(x: int, y: int) → int计算x^y。
radians(val: float) → float将val作为度数值(a degree value)转换为弧度值(a radians value)。
random() → float返回0到1之间的随机浮点数。
round(input: decimal, decimal_accuracy: int) → decimal使用“四舍六入五远零” (half away from zero)规则保留input中零右侧decimal_accuracy位数字。 如果decimal_accuracy不在-2^31…(2^31-1)范围内,则结果是未定义(undefined)的。
round(input: float, decimal_accuracy: int) → float使用“四舍六入五成双” (half to even) (即银行家) 规则保留input中零右侧decimal_accuracy位数字。
round(val: decimal) → decimal使用“四舍六入五远零” (half away from zero)规则将val舍入到最接近的整数:ROUND(+/- 2.4)= +/- 2,ROUND(+/- 2.5)= +/- 3。
round(val: float) → float使用“四舍六入五成双” (half to even) (即银行家) 规则将val舍入到最接近的整数。
sign(val: decimal) → decimal确定val的符号:1为正; 0表示值0; -1表示负
sign(val: float) → float确定val的符号:1为正; 0表示值0; -1表示负
sign(val: int) → int确定val的符号:1为正; 0表示值0; -1表示负
sin(val: float) → float计算val的正弦值。
sqrt(val: decimal) → decimal计算val的平方根。
sqrt(val: float) → float计算val的平方根。
tan(val: float) → float计算val的正切值。
trunc(val: decimal) → decimal截断val的十进制值。
trunc(val: float) → float截断val的十进制值。

序列函数

函数 → 返回值描述
currval(sequence_name: string) → int返回此会话中此序列的nextval获取的最新值。
lastval() → int在此会话中使用nextval最近获得的返回值。
nextval(sequence_name: string) → int推进给定的序列并返回其新值。
setval(sequence_name: string, value: int) → int设置给定序列的当前值。 nextval的下一次调用将返回value + Increment
setval(sequence_name: string, value: int, is_called: bool) → int设置给定序列的当前值。 如果is_called为false,则对nextval的下一次调用将返回value; 否则返回value + Increment。

设定-返回函数

函数 → 返回值描述
crdb_internal.unary_table() → tuple生成不包含任何值的单行的虚拟表。 此函数仅供ZNBASE的开发人员用于测试目的。
generate_series(start: int, end: int) → int生成一个虚拟表,其中包含从start到end的整数值。
generate_series(start: int, end: int, step: int) → int生成一个虚拟表,其中包含从start到end,并以step为步长的整型值。
generate_series(start: timestamp, end: timestamp, step: interval) → timestamp生成一个虚拟表,其中包含从start到end,并以step为间隔的时间戳值。
generate_subscripts(array: anyelement[]) → int返回一个包含给定数组下标的系列。
generate_subscripts(array: anyelement[], dim: int) → int返回一个包含给定数组下标的系列。
generate_subscripts(array: anyelement[], dim: int, reverse: bool) → int返回一个包含给定数组下标的系列。 当reverse为true时,将以相反的顺序返回系列。
information_schema._pg_expandarray(input: anyelement[]) → anyelement将输入数组作为带有索引的行集合返回。
json_array_elements(input: jsonb) → jsonb将JSON数组扩展为JSON值集合。
json_array_elements_text(input: jsonb) → string将JSON数组扩展为文本值集合。
json_each(input: jsonb) → tuple{string AS key, jsonb AS value}将最外层的JSON或JSONB对象扩展为键/值对集合。
json_each_text(input: jsonb) → tuple{string AS key, string AS value}将最外层的JSON或JSONB对象扩展为键/值对集合。 返回的值是text类型。
json_object_keys(input: jsonb) → string返回最外层JSON对象中的有序键集。
jsonb_array_elements(input: jsonb) → jsonb将JSON数组扩展为一组JSON值。
jsonb_array_elements_text(input: jsonb) → string将JSON数组扩展为一组文本值。
jsonb_each(input: jsonb) → tuple{string AS key, jsonb AS value}将最外层的JSON或JSONB对象扩展为一组键/值对。
jsonb_each_text(input: jsonb) → tuple{string AS key, string AS value}将最外层的JSON或JSONB对象扩展为一组键/值对。 返回的值是text类型。
jsonb_object_keys(input: jsonb) → string返回最外层JSON对象中的有序键集。
pg_get_keywords() → tuple{string AS word, string AS catcode, string AS catdesc}生成包含SQL解析器能识别的关键字的虚拟表。
unnest(input: anyelement[]) → anyelement以行集合(a set of rows)的形式返回输入数组。

字符串和字节函数

函数 → 返回值描述
ascii(val: string) → int返回val中第一个字符的字符代码。 虽然函数名称叫ascii,但是该函数也支持Unicode字符。
bit_length(val: bytes) → int计算val中的位数。
bit_length(val: string) → int计算用于表示val的位数。
btrim(input: string, trim_chars: string) → string从input的开头或结尾删除trim_chars中包含的任何字符(递归应用)。
例如,btrim(‘doggie’,’eod’)返回ggi。
btrim(val: string) → string删除val的开头和结尾的所有空格。
char_length(val: bytes) → int计算val中的字节数。
char_length(val: string) → int计算val中的字符数。
character_length(val: bytes) → int计算val中的字节数。
character_length(val: string) → int计算val中的字符数。
chr(val: int) → string返回带有val中给出的代码的字符。 ascii()的反函数。
concat(string…) → string连接以逗号分隔的字符串列表。
concat_ws(string…) → string使用第一个参数作为后续参数的串联分隔符。
例如,concat_ws(‘!’,’wow’,’great’)返回wow!great。
convert_from(str: bytes, enc: string) → stringstr使用encoding 将字节解码为字符串enc。支持编码“ UTF8”和“ LATIN1”。
convert_to(str: string, enc: string) → bytesstr使用encoding 将字符串编码为字节数组enc。支持编码“ UTF8”和“ LATIN1”。
decode(text: string, format: string) → bytes以format指定的格式解码数据(仅支持“hex”和“escape”)。
encode(data: bytes, format: string) → string以format指定的文本格式对数据进行编码(仅支持“hex”和“escape”)。
from_ip(val: bytes) → string将IP的字节字符串表示形式转换为其字符串表示形式。
from_uuid(val: bytes) → string将UUID的字节字符串表示形式转换为其字符串表示形式。
initcap(val: string) → string将val的第一个字母大写。
left(input: bytes, return_set: int) → bytes从input返回前return_set个字节。
left(input: string, return_set: int) → string从input返回前return_set个字符。
length(val: bytes) → int计算val中的字节数。
length(val: string) → int计算val中的字符数。
lower(val: string) → string将val中的所有字符转换为小写。
lpad(string: string, length: int) → string在字符串的左侧添加“”,以填充字符串的长度。如果字符串的长度超过长度,则会被截断。
lpad(string: string, length: int, fill: string) → string在字符串的左侧添加fill,以填充字符串的长度。如果字符串的长度超过长度,则会被截断。
ltrim(input: string, trim_chars: string) → string从input的开头(左侧)删除trim_chars中包含的任何字符(递归应用)。
例如,ltrim(‘doggie’,’od’)返回ggie。
ltrim(val: string) → string删除val开头(左侧)的所有空格。
md5(bytes…) → string计算一组值的MD5哈希值。
md5(string…) → string计算一组值的MD5哈希值。
octet_length(val: bytes) → int计算val中的字节数。
octet_length(val: string) → int计算用于表示val的字节数。
overlay(input:string,overlay_val: string, start_pos: int) → string使用overlay_val替换input中的字符,从start_pos开始(从1开始)。
例如,overlay(’doggie’,’CAT’,2返回dCATie。
overlay(input:string,overlay_val: string, start_pos: int, end_pos: int) → string删除start_pos和end_pos之间input中的字符(count从1开始),然后在start_pos中插入overlay_val。
pg_collation_for(str: anyelement) → string返回参数的排序规则。
quote_ident(val: string) → string返回一个适当的val引用值,使其作为SQL语句中的标识符。
quote_literal(val: string) → string返回一个适当的val引用值,使其作为SQL语句中的字符串文本。
quote_literal(val: anyelement) → string将val转换为字符串,然后将其作为文本引用。
quote_nullable(val: string) → string将val转换为字符串,然后将其作为文本引用。如果val为NULL,则返回NULL。
quote_nullable(val: anyelement) → string将val转换为字符串,然后将其作为文本引用。如果val为NULL,则返回NULL。
regexp_extract(input: string, regex: string) → string返回input中正则表达式regex的第一个匹配项。
regexp_replace(input: string, regex: string, replace: string) → string使用replace来替换input中正则表达式的匹配项。
regexp_replace(input:string, regex: string, replace: string, flags: string) → string修改input字符串,将其中正则表达式regex的匹配项,替换为正则表达式replace。匹配模式由flags参数控制。 ZNBASE 支持以下的flags:
Flag描述
c区分大小写的匹配
g全局匹配(匹配每个子字符串而不是仅匹配第一个)
i不区分大小写的匹配
m or n换行敏感(请参阅下文)
p部分对换行符敏感的匹配(请参见下文)
s换行不敏感(默认)
w反向部分对换行符敏感的匹配(请参见下文)
Mode. 和[^…] 匹配换行符^ 和$ 匹配线边界
syesno
wyesyes
pnono
m/nnoyes
repeat(input: string, repeat_counter: int) → string将input进行repeat_counter次连接。
例如, repeat(’dog’,2)返回 dogdog 。
replace(input: string, find: string, replace: string) → string用replace替换input中的所有出现的find
reverse(val: string) → string反转字符串字符的顺序。
right(input: bytes, return_set: int) → bytes从input返回最后return_set个字节。
right(input: string, return_set: int) → string返回input中最后return_set个字符。
rpad(string: string, length: int) → string在字符串的右侧添加“”,以填充字符串的长度。如果字符串的长度超过长度,则会被截断。
rpad(string: string, length: int, fill: string) → string在字符串的右侧添加fill,以填充字符串的长度。如果字符串的长度超过长度,则会被截断。
rtrim(input: string, trim_chars: string) → string从input的末尾(右侧)删除trim_chars中包含的任何字符(递归应用)。
例如,rtrim(’doggie’,’ei’)返回dogg。
rtrim(val: string) → string从val的末端(右侧)移除所有空格。
sha1(bytes…) → string计算一组值的SHA1哈希值。
sha1(string…) → string计算一组值的SHA1哈希值。
sha256(bytes…) → string计算一组值的SHA256哈希值。
sha256(string…) → string计算一组值的SHA256哈希值。
sha512(bytes…) → string计算一组值的SHA512哈希值。
sha512(string…) → string计算一组值的SHA512哈希值。
split_part(input: string, delimiter: string, return_index_pos: int) → string使用delimiter分隔符拆分input并返回return_index_pos位置的值(从1开始)。
例如,split_part(’123.456.789.0’,’.’,3)返回789。
strpos(input: string, find: string) → int计算字符串find在输入中开始的位置。
例如,strpos(’doggie’,’gie’)返回4。
substr(input: string, regex: string) → string返回与正则表达式regex匹配的input子字符串。
substr(input: string, regex: string, escape_char: string) → string返回与正则表达式regex匹配的input子字符串,使用escape_char作为转义字符而不是</code>
substr(input: string, start_pos: int) → string返回start_pos和end_pos之间的input子字符串(count从1开始)。
substr(input: string, start_pos: int, length: int) → string返回从substr_pos开始的input子字符串(count从1开始)。
substring(input: string, regex: string) → string返回与正则表达式匹配regex的input子字符串。
substring(input: string, regex: string, escape_char: string) → string返回与正则表达式匹配regex的input子字符串,使用escape_char作为转义字符而不是</code>.
substring(input: string, start_pos: int) → string返回start_pos和end_pos之间的input子字符串(count从1开始)。
substring(input: string, start_pos: int, length: int) → string返回从substr_pos开始的input子字符串(count从1开始)。
to_char(val: interval,format:string)->string将val按照format格式输出
to_char(val: timestamp,format:string)->string将val按照format格式输出
to_char(val: timestamptz,format:string)->string将val按照format格式输出
to_english(val: int) → string这个函数用英语基数说明它的参数的值。
to_hex(val: bytes) → string将val转换为十六进制表示形式。
to_hex(val: int) → string将val转换为十六进制表示形式。
to_ip(val: string) → bytes将IP的字符串表示形式转换为其字节字符串表示形式。
to_uuid(val: string) → bytes将UUID的字符串表示形式转换为其字节字符串表示形式。
translate(input: string, find: string, replace: string) → string在输入中,将find中的第一个字符替换为replace的第一个字符; 对查找中的每个字符重复进行。
例如,translate(’doggie’,’dog’,’123’); 返回1233ie。
upper(val: string) → string将val中的所有字符转换为大写字母。

系统信息函数

函数 → 返回值描述
cluster_logical_timestamp() → decimal返回当前事务的逻辑时间。
此函数由ZNBASE开发人员保留用于测试目的,其定义可能会更改,恕不另行通知。
请注意,使用此功能会禁用服务器端优化,并可能增加争用或重试错误,或两者兼而有之。
crdb_internal.check_consistency(stats_only: bool, start_key: bytes, end_key: bytes) → tuple{int AS range_id, bytes AS start_key, string AS start_key_pretty, string AS status, string AS detail}对接触指​​定键范围的范围进行一致性检查。空的开始或结束键分别被视为可能的最小值和最大值。仅将少量范围作为目标时,才应将stats_only设置为false,以避免集群过载。每个返回的行都包含范围ID,状态(roachpb.CheckConsistencyResponse_Status)和详细信息。 用法示例:SELECT FROM crdb_internal.check_consistency(true,’\ x02’,’\ x04’)
crdb_internal.cluster_id() → uuid返回集群ID。
crdb_internal.cluster_name() → string返回集群名称。
crdb_internal.encode_key(table_id: int, index_id: int, row_tuple: tuple) → bytes为特定表和索引上的一行生成键。
crdb_internal.force_assertion_error(msg: string) → int此函数仅供ZNBASE的开发人员用于测试目的。
crdb_internal.force_error(errorCode: string, msg: string) → int此函数仅供ZNBASE的开发人员用于测试目的。
crdb_internal.force_log_fatal(msg: string) → int此函数仅供ZNBASE的开发人员用于测试目的。
crdb_internal.force_panic(msg: string) → int此函数仅供ZNBASE的开发人员用于测试目的。
crdb_internal.force_retry(val: interval) → int此函数仅供ZNBASE的开发人员用于测试目的。
crdb_internal.json_num_index_entries(val: jsonb) → int此函数仅供ZNBASE的开发人员用于测试目的。
crdb_internal.lease_holder(key: bytes) → int该函数用于获取与请求密钥相对应的租约持有人。
crdb_internal.locality_value(key: string) → string返回指定位置键的值。
crdb_internal.no_constant_folding(input: anyelement) → anyelement此函数仅供ZNBASE的开发人员用于测试目的。
crdb_internal.node_executable_version() → string返回此节点正在运行的ZNBASE的版本。
crdb_internal.pretty_key(raw_key: bytes, skip_fields: int) → string此函数仅供ZNBASE的开发人员用于测试目的。
crdb_internal.range_stats(key: bytes) → jsonb此函数用于将范围统计信息作为JSON对象检索。
crdb_internal.round_decimal_values(val: decimal, scale: int) → decimal此函数在内部用于在突变期间舍入十进制值。
crdb_internal.round_decimal_values(val: decimal[], scale: int) → decimal[]此函数在内部用于在突变期间舍入十进制数组的值。
crdb_internal.set_vmodule(vmodule_string: string) → int在处理此请求的网关节点上设置—vmodule标志的等效项; 它可以控制不同文件的日志记录详细程度。 语法范例:crdb_internal.set_vmodule(’recordio = 2,file = 1,gfs = 3’)。 重置为:crdb_internal.set_vmodule(’’)。 提高详细程度可能会严重影响性能。
current_database() → string返回当前数据库。
current_schema() → string返回当前schema。
current_schemas(include_pg_catalog: bool) → string[]返回搜索路径中的有效schema。
current_user() → string返回当前用户。 提供此功能是为了与PostgreSQL兼容。
version() → string返回节点的ZNBASE版本。

兼容性函数

函数 → 返回值描述
format_type(type_oid: oid, typemod: int) → string返回由其类型OID和可能的类型修饰符标识的数据类型的SQL名称。 目前,类型修饰符会被忽略。
has_any_column_privilege(table:string, privilege: string) → bool当前用户是否对表的所有列具有权限。
has_any_column_privilege(table: oid, privilege: string) → bool当前用户是否对表的所有列具有权限。
has_any_column_privilege(user: string, table: string, privilege: string) → bool用户是否对表的所有列具有权限。
has_any_column_privilege(user: string, table: oid, privilege: string) → bool用户是否对表的所有列具有权限。
has_any_column_privilege(user: oid, table: string, privilege: string) → bool用户是否对表的所有列具有权限。
has_any_column_privilege(user: oid, table: oid, privilege: string) → bool用户是否对表的所有列具有权限。
has_column_privilege(table: string, column: int, privilege: string) → bool当前用户是否具有列权限。
has_column_privilege(table: string, column: string, privilege: string) → bool当前用户是否具有列权限。
has_column_privilege(table: oid, column: int, privilege: string) → bool当前用户是否具有列权限。
has_column_privilege(table: oid, column: string, privilege: string) → bool当前用户是否具有列权限。
has_column_privilege(user: string, table: string, column: int, privilege: string) → bool用户是否具有列权限。
has_column_privilege(user: string, table: string, column: string, privilege: string) → bool用户是否具有列权限。
has_column_privilege(user: string, table: oid, column: int, privilege: string) → bool用户是否具有列权限。
has_column_privilege(user: string, table: oid, column: string, privilege: string) → bool用户是否具有列权限。
has_column_privilege(user: oid, table: string, column: int, privilege: string) → bool用户是否具有列权限。
has_column_privilege(user: oid, table: string, column: string, privilege: string) → bool用户是否具有列权限。
has_column_privilege(user: oid, table: oid, column: int, privilege: string) → bool用户是否具有列权限。
has_column_privilege(user: oid,table:oid, column: string, privilege: string) → bool用户是否具有列权限。
has_database_privilege(database:string, privilege: string) → bool当前用户是否拥有数据库权限。
has_database_privilege(database: oid, privilege: string) → bool当前用户是否拥有数据库权限。
has_database_privilege(user: string, database: string, privilege: string) → bool用户是否拥有数据库权限。
has_database_privilege(user: string, database: oid, privilege: string) → bool用户是否拥有数据库权限。
has_database_privilege(user: oid, database: string, privilege: string) → bool用户是否拥有数据库权限。
has_database_privilege(user: oid, database: oid, privilege: string) → bool用户是否拥有数据库权限。
has_foreign_data_wrapper_privilege(fdw: string, privilege: string) → bool当前用户是否拥有外部数据包装程序权限。
has_foreign_data_wrapper_privilege(fdw: oid, privilege: string) → bool当前用户是否拥有外部数据包装程序权限。
has_foreign_data_wrapper_privilege(user: string, fdw: string, privilege: string) → bool用户是否拥有外部数据包装程序权限。
has_foreign_data_wrapper_privilege(user: string, fdw: oid, privilege: string) → bool用户是否拥有外部数据包装程序权限。
has_foreign_data_wrapper_privilege(user: oid, fdw: string, privilege: string) → bool用户是否拥有外部数据包装程序权限。
has_foreign_data_wrapper_privilege(user: oid, fdw: oid, privilege: string) → bool用户是否拥有外部数据包装程序权限。
has_function_privilege(function: string, privilege: string) → bool当前用户是否拥有函数权限。
has_function_privilege(function: oid, privilege: string) → bool当前用户是否拥有函数权限。
has_function_privilege(user: string, function: string, privilege: string) → bool用户是否拥有函数权限。
has_function_privilege(user: string, function: oid, privilege: string) → bool用户是否拥有函数权限。
has_function_privilege(user: oid, function: string, privilege: string) → bool用户是否拥有函数权限。
has_function_privilege(user: oid, function: oid, privilege: string) → bool用户是否拥有函数权限。
has_language_privilege(language: string, privilege: string) → bool当前用户是否拥有语言权限。
has_language_privilege(language: oid, privilege: string) → bool当前用户是否拥有语言权限。
has_language_privilege(user: string, language: string, privilege: string) → bool用户是否拥有语言权限。
has_language_privilege(user: string, language: oid, privilege: string) → bool用户是否拥有语言权限。
has_language_privilege(user: oid, language: string, privilege: string) → bool用户是否拥有语言权限。
has_language_privilege(user: oid, language: oid, privilege: string) → bool用户是否拥有语言权限。
has_schema_privilege(schema: string, privilege: string) → bool当前用户是否拥有schema权限。
has_schema_privilege(schema: oid, privilege: string) → bool当前用户是否拥有schema权限。
has_schema_privilege(user: string, schema: string, privilege: string) → bool用户是否拥有schema权限。
has_schema_privilege(user: string, schema: oid, privilege: string) → bool用户是否拥有schema权限。
has_schema_privilege(user: oid, schema: string, privilege: string) → bool用户是否拥有schema权限。
has_schema_privilege(user: oid, schema: oid, privilege: string) → bool用户是否拥有schema权限。
has_sequence_privilege(sequence: string, privilege: string) → bool当前用户是否拥有序列权限。
has_sequence_privilege(sequence: oid, privilege: string) → bool当前用户是否拥有序列权限。
has_sequence_privilege(user: string, sequence: string, privilege: string) → bool用户是否拥有序列权限。
has_sequence_privilege(user: string, sequence: oid, privilege: string) → bool用户是否拥有序列权限。
has_sequence_privilege(user: oid, sequence: string, privilege: string) → bool用户是否拥有序列权限。
has_sequence_privilege(user: oid, sequence: oid, privilege: string) → bool用户是否拥有序列权限。
has_server_privilege(server: string, privilege: string) → bool当前用户是否拥有外部服务器的权限。
has_server_privilege(server: oid, privilege: string) → bool当前用户是否拥有外部服务器的权限。
has_server_privilege(user: string, server: string, privilege: string) → bool用户是否拥有外部服务器的权限。
has_server_privilege(user: string, server: oid, privilege: string) → bool用户是否拥有外部服务器的权限。
has_server_privilege(user: oid, server: string, privilege: string) → bool用户是否拥有外部服务器的权限。
has_server_privilege(user: oid, server: oid, privilege: string) → bool用户是否拥有外部服务器的权限。
has_table_privilege(table: string, privilege: string) → bool当前用户是否拥有表的权限。
has_table_privilege(table: oid, privilege: string) → bool当前用户是否拥有表的权限。
has_table_privilege(user:string,table:string,privilege: string) → bool用户是否拥有表的权限。
has_table_privilege(user: string, table: oid, privilege: string) → bool用户是否拥有表的权限。
has_table_privilege(user: oid, table: string, privilege: string) → bool用户是否拥有表的权限。
has_table_privilege(user: oid, table: oid, privilege: string) → bool用户是否拥有表的权限。
has_tablespace_privilege(tablespace:string,privilege: string) → bool当前用户是否拥有表空间的权限。
has_tablespace_privilege(tablespace: oid, privilege: string) → bool当前用户是否拥有表空间的权限。
has_tablespace_privilege(user: string, tablespace: string, privilege: string) → bool用户是否拥有表空间的权限。
has_tablespace_privilege(user: string, tablespace: oid, privilege: string) → bool用户是否拥有表空间的权限。
has_tablespace_privilege(user: oid, tablespace: string, privilege: string) → bool用户是否拥有表空间的权限。
has_tablespace_privilege(user: oid, tablespace: oid, privilege: string) → bool用户是否拥有表空间的权限。
has_type_privilege(type: string, privilege: string) → bool当前用户是否拥有类型的权限。
has_type_privilege(type: oid, privilege: string) → bool当前用户是否拥有类型的权限。
has_type_privilege(user:string,type: string, privilege: string) → bool用户是否拥有类型的权限。
has_type_privilege(user: string, type: oid, privilege: string) → bool用户是否拥有类型的权限。
has_type_privilege(user: oid, type: string, privilege: string) → bool用户是否拥有类型的权限。
has_type_privilege(user: oid, type: oid, privilege: string) → bool用户是否拥有类型的权限。
oid(int: int) → oid将整数转换为OID。
pg_sleep(seconds: float) → boolpg_sleep使当前会话的进程在接下来的second秒后进入休眠状态。seconds是double 精度类型的值,因此可以指定小数级别的秒数延迟。