华为云云数据库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)

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家