华为云云数据库GaussDB二进制字符串函数和操作符_云淘科技
字符串操作符
SQL定义了一些字符串函数,在这些函数里使用关键字而不是逗号来分隔参数。
octet_length(string)
描述:二进制字符串中的字节数。
返回值类型:int
示例:
1 2 3 4 5 |
gaussdb=# SELECT octet_length(E'jo\000se'::bytea) AS RESULT; result -------- 5 (1 row) |
overlay(string placing string from int [for int])
描述:替换子串。
返回值类型:bytea
示例:
1 2 3 4 5 |
gaussdb=# SELECT overlay(E'Th\000omas'::bytea placing E'\002\003'::bytea from 2 for 3) AS RESULT; result ---------------- \x5402036d6173 (1 row) |
position(substring in string)
描述:特定子字符串的位置。
返回值类型:int
示例:
1 2 3 4 5 |
gaussdb=# SELECT position(E'\000om'::bytea in E'Th\000omas'::bytea) AS RESULT; result -------- 3 (1 row) |
substring(string [from int] [for int])
描述:截取子串。
返回值类型:bytea
示例:
1 2 3 4 5 |
gaussdb=# SELECT substring(E'Th\000omas'::bytea from 2 for 3) AS RESULT; result ---------- \x68006f (1 row) |
substr(bytea [from int] [for int])
描述:截取子串。
返回值类型:bytea
示例:
1 2 3 4 5 |
gaussdb=# select substr(E'Th\000omas'::bytea,2, 3) as result; result ---------- \x68006f (1 row) |
trim([both] bytes from string)
描述:从string的开头和结尾删除只包含bytes中字节的最长字符串。
返回值类型:bytea
示例:
1 2 3 4 5 |
gaussdb=# SELECT trim(E'\000'::bytea from E'\000Tom\000'::bytea) AS RESULT; result ---------- \x546f6d (1 row) |
二进制字符串函数
GaussDB也提供了函数调用所使用的常用语法。
btrim(string bytea,bytes bytea)
描述:从string的开头和结尾删除只包含bytes中字节的最长的字符串。
返回值类型:bytea
示例:
1 2 3 4 5 |
gaussdb=# SELECT btrim(E'\000trim\000'::bytea, E'\000'::bytea) AS RESULT; result ------------ \x7472696d (1 row) |
get_bit(string, offset)
描述:从字符串中抽取位。
返回值类型:int
示例:
1 2 3 4 5 |
gaussdb=# SELECT get_bit(E'Th\000omas'::bytea, 45) AS RESULT; result -------- 1 (1 row) |
get_byte(string, offset)
描述:从字符串中抽取字节。
返回值类型:int
示例:
1 2 3 4 5 |
gaussdb=# SELECT get_byte(E'Th\000omas'::bytea, 4) AS RESULT; result -------- 109 (1 row) |
set_bit(string,offset, newvalue)
描述:设置字符串中的位。
返回值类型:bytea
示例:
1 2 3 4 5 |
gaussdb=# SELECT set_bit(E'Th\000omas'::bytea, 45, 0) AS RESULT; result ------------------ \x5468006f6d4173 (1 row) |
set_byte(string,offset, newvalue)
描述:设置字符串中的字节。
返回值类型:bytea
示例:
1 2 3 4 5 |
gaussdb=# SELECT set_byte(E'Th\000omas'::bytea, 4, 64) AS RESULT; result ------------------ \x5468006f406173 (1 row) |
rawcmp
描述:raw数据类型比较函数。
参数:raw, raw
返回值类型:integer
raweq
描述:raw数据类型比较函数。
参数:raw, raw
返回值类型:boolean
rawge
描述:raw数据类型比较函数。
参数:raw, raw
返回值类型:boolean
rawgt
描述:raw数据类型比较函数。
参数:raw, raw
返回值类型:boolean
rawin
描述:raw数据类型解析函数。
参数:cstring
返回值类型:bytea
rawle
描述:raw数据类型解析函数。
参数:raw, raw
返回值类型:boolean
rawlike
描述:raw数据类型解析函数。
参数:raw, raw
返回值类型:boolean
rawlt
描述:raw数据类型解析函数。
参数:raw, raw
返回值类型:boolean
rawne
描述:比较raw类型是否一样。
参数:raw, raw
返回值类型:boolean
rawnlike
描述:比较raw类型与模式是否不匹配。
参数:raw, raw
返回值类型:boolean
rawout
描述:RAW类型的输出接口。
参数:bytea
返回值类型:cstring
rawsend
描述:转换bytea为二进制类型。
参数:raw
返回值类型:bytea
rawtohex
描述:raw格式转换为十六进制。
参数:text
返回值类型:text
父主题: 函数和操作符
同意关联代理商云淘科技,购买华为云产品更优惠(QQ 78315851)
内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家