
# 二进制字符串函数
GaussDB提供了函数调用所使用的常用语法。
#### btrim(string bytea,bytes bytea)
描述：从string的开头和结尾删除仅包含bytes中字节的最长的字符串。
返回值类型：bytea
示例：
```
gaussdb=# SELECT btrim(E'\\000trim\\000'::bytea, E'\\000'::bytea) AS RESULT;
   result   
------------
 \x7472696d
(1 row)
```
#### get_bit(string, offset)
描述：从字符串中抽取位。
返回值类型：int
示例：
```
gaussdb=# SELECT get_bit(E'Th\\000omas'::bytea, 45) AS RESULT; 
 result
--------
      1
(1 row)
```
#### get_byte(string, offset)
描述：从字符串中抽取字节。
返回值类型：int
示例：
```
gaussdb=# SELECT get_byte(E'Th\\000omas'::bytea, 4) AS RESULT; 
 result
--------
    109
(1 row)
```
#### set_bit(string,offset, newvalue)
描述：设置字符串中的位。
返回值类型：bytea
示例：
```
gaussdb=# SELECT set_bit(E'Th\\000omas'::bytea, 45, 0) AS RESULT; 
      result      
------------------
 \x5468006f6d4173
(1 row)
```
#### set_byte(string,offset, newvalue)
描述：设置字符串中的字节。
返回值类型：bytea
示例：
```
gaussdb=# SELECT set_byte(E'Th\\000omas'::bytea, 4, 64) AS RESULT; 
      result      
------------------
 \x5468006f406173
(1 row)
```
#### rawcmp(raw, raw)
描述：raw数据类型比较函数。
参数：raw, raw
返回值类型：integer
#### raweq(raw, raw)
描述：raw数据类型比较函数。
参数：raw, raw
返回值类型：boolean
#### rawge(raw, raw)
描述：raw数据类型比较函数。
参数：raw, raw
返回值类型：boolean
#### rawgt(raw, raw)
描述：raw数据类型比较函数。
参数：raw, raw
返回值类型：boolean
#### rawin(cstring)
描述：raw数据类型解析函数。
参数：cstring
返回值类型：bytea
#### rawle(raw, raw)
描述：raw数据类型解析函数。
参数：raw, raw
返回值类型：boolean
#### rawlike(raw, raw)
描述：raw数据类型解析函数。
参数：raw, raw
返回值类型：boolean
#### rawlt(raw, raw)
描述：raw数据类型解析函数。
参数：raw, raw
返回值类型：boolean
#### rawne(raw, raw)
描述：比较raw类型是否相同。
参数：raw, raw
返回值类型：boolean
#### rawnlike(raw, raw)
描述：比较raw类型与模式是否不匹配。
参数：raw, raw
返回值类型：boolean
#### rawout(bytea)
描述：raw类型的输出接口。
参数：bytea
返回值类型：cstring
#### rawsend(raw)
描述：转换bytea类型为二进制类型。
参数：raw
返回值类型：bytea
#### rawtohex(text)
描述：raw格式转换为十六进制。
参数：text
返回值类型：text
