内建函数
数组函数
函数 → 返回值 | 描述 |
---|---|
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) → bool | pattern使用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) → bool | pattern使用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) → bool | pattern使用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) → string | str使用encoding 将字节解码为字符串enc。支持编码“ UTF8”和“ LATIN1”。 | |||||||||||||||||||||||||||||||
convert_to(str: string, enc: string) → bytes | str使用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 | . 和[^…] 匹配换行符 | ^ 和$ 匹配线边界 | ||||||||||||||||||||||||||||||
s | yes | no | ||||||||||||||||||||||||||||||
w | yes | yes | ||||||||||||||||||||||||||||||
p | no | no | ||||||||||||||||||||||||||||||
m/n | no | yes | ||||||||||||||||||||||||||||||
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) → bool | pg_sleep使当前会话的进程在接下来的second秒后进入休眠状态。seconds是double 精度类型的值,因此可以指定小数级别的秒数延迟。 |