二进制字符串函数和操作符
octet_length(string)
描述:二进制字符串中的字节数。
返回值类型:int
示例:
overlay(string placing string from int [for int])
描述:替换子串。
返回值类型:bytea
示例:
result
----------------
\x5402036d6173
(1 row)
position(substring in string)
描述:特定子字符串的位置。
返回值类型:int
示例:
openGauss=# SELECT position(E'\\000om'::bytea in E'Th\\000omas'::bytea) AS RESULT;
result
--------
3
(1 row)
substr(string, from int [, for int])
描述:截取子串。
返回值类型:bytea
示例:
openGauss=# select substr(E'Th\\000omas'::bytea,2, 3) as result;
----------
\x68006f
(1 row)
trim([both] bytes from string)
描述:从string的开头和结尾删除只包含bytes中字节的最长字符串。
返回值类型:bytea
示例:
openGauss=# SELECT trim(E'\\000'::bytea from E'\\000Tom\\000'::bytea) AS RESULT;
result
----------
\x546f6d
(1 row)
二进制字符串函数
openGauss也提供了函数调用所使用的常用语法。
btrim(string bytea,bytes bytea)
描述:从string的开头和结尾删除只包含bytes中字节的最长的字符串。
返回值类型:bytea
示例:
-
描述:从字符串中抽取位。
返回值类型:int
示例:
openGauss=# SELECT get_bit(E'Th\\000omas'::bytea, 45) AS RESULT;
1
(1 row)
get_byte(string, offset)
描述:从字符串中抽取字节。
返回值类型:int
示例:
openGauss=# SELECT get_byte(E'Th\\000omas'::bytea, 4) AS RESULT;
result
--------
109
(1 row)
set_bit(string,offset, newvalue)
描述:设置字符串中的位。
返回值类型:bytea
示例:
set_byte(string,offset, newvalue)
描述:设置字符串中的字节。
返回值类型:bytea
openGauss=# SELECT set_byte(E'Th\\000omas'::bytea, 4, 64) AS RESULT;
result
------------------