二进制函数和操作符

云原生数据仓库 AnalyticDB PostgreSQL 版兼容PostgreSQL二进制函数和操作符。本文简单列举云原生数据仓库 AnalyticDB PostgreSQL 版兼容的二进制函数和操作符及用法示例。

PostgreSQL二进制函数和操作符的详细使用方法,请参见PostgreSQL官方文档:二进制函数和操作符

二进制串函数和操作符

二进制操作符通常是指用于处理两个操作数的操作符。在计算机科学中,二进制操作符通常用于执行位运算,例如按位与(&)、按位或(|)、按位异或(^)、按位取反(~)、左移(<<)和右移(>>)等。

函数

返回类型

描述

例子

结果

string || string

bytea

串连接。

'\\Post'::bytea || '\047gres\\000'::bytea

\\Post'gres\000

octet_length(string)

int

二进制串中的字节数。

octet_length('jo\000se'::bytea)

5

overlay(string placing string from int [for int])

bytea

替换子串。

overlay('Th\000omas'::bytea placing '\002\003'::bytea from 2 for 3)

T\\002\\003mas

position(substring in string)

int

指定子串的位置。

position('\000om'::bytea in 'Th\000omas'::bytea)

3

substring(string [from int] [for int

bytea

提取子串。

substring('Th\000omas'::bytea from 2 for 3)

h\000o

trim([both] bytes from string)

bytea

string的开头或结尾删除只包含在bytes中字节的最长串。

trim('\000\001'::bytea from '\000Tom\001'::bytea)

Tom

二进制函数

二进制函数通常是一个接受两个参数并返回一个结果的函数。在编程中,二进制函数通常用于表示那些需要两个输入才能产生一个输出的算法。

函数

返回类型

描述

例子

结果

bytea(string bytea,bytes bytea)

bytea

string的开头或结尾删除只包含在bytes中字节的最长串。

btrim('\000trim\001'::bytea, '\000\001'::bytea)

trim

decode(string text,format text)

bytea

string中的文本表示解码二进制数据。format的参数和在encode中一样。

decode('123\000456', 'escape')

123\000456

encode(data bytea,format text)

text

将二进制数据编码为一个文本表示。支持的格式有:base64hexescapeescape将零字节和高位组字节转换为八进制序列(\nnn)和双反斜线。

encode('123\000456'::bytea, 'escape')

123\000456

get_bit(string,offset)

int

从字符串中抽取位。

get_bit('Th\000omas'::bytea, 45)

1

get_byte(string,offset)

int

从字符串中抽取字节。

get_byte('Th\000omas'::bytea, 4)

109

length(string)

int

二进制字符串的长度。

length('jo\000se'::bytea)

5

md5(string)

text

计算string的MD5哈希值,以十六进制形式返回结果。

md5('Th\000omas'::bytea)

8ab2d3c9689aaf18​b4958c334c82d8b1

set_bit(string,offset,newvalue)

bytea

设置字符串中的位。

set_bit('Th\000omas'::bytea, 45, 0)

Th\000omAs

set_byte(string,offset,newvalue)

bytea

设置字符串中的字节。

set_byte('Th\000omas'::bytea, 4, 64)

Th\000o@as

sha224(bytea)

bytea

SHA-224哈希值。

sha224('abc')

\x23097d223405d8228642a477bda2​55b32aadbce4bda0b3f7e36c9da7

sha256(bytea)

bytea

SHA-256哈希值。

sha256('abc')

\xba7816bf8f01cfea414140de5dae2223​b00361a396177a9cb410ff61f20015ad

sha384(bytea)

bytea

SHA-384哈希值。

sha384('abc')

\xcb00753f45a35e8bb5a03d699ac65007​272c32ab0eded1631a8b605a43ff5bed​8086072ba1e7cc2358baeca134c825a7

sha512(bytea)

bytea

SHA-512哈希值。

sha512('abc')

\xddaf35a193617abacc417349ae204131​12e6fa4e89a97ea20a9eeee64b55d39a​2192992a274fc1a836ba3c23a3feebbd​454d4423643ce80e2a9ac94fa54ca49f