您的位置:寻梦网首页编程乐园数据库PostgreSQL 7.2 Documentation

4.5. 二进制字串函数和操作符

本节描述那些检查和操作二进制数值的函数和操作符. 这个环境里的字串包括类型 BYTEA 的数值.

SQL 定义了一些有特殊语法的字串函数, 在这些函数里使用特殊关键字而不是逗号来分隔参数. 详情请见 Table 4-8 . 一些函数也实现了使用常用语法进行函数调用的方法. (参阅 Table 4-9 .)

Table 4-8. SQL 二进制字串函数和操作符

函数 函数类型 描述 例子 结果
string || string bytea 字串连接 '\\\\Postgre'::bytea || '\\047SQL\\000'::bytea \\Postgre'SQL\000
octet_length ( string ) integer 二进制字串中的字节数目 octet_length('jo\\000se'::bytea) 5
position ( substring in string ) integer 指定子字串的位置 position('\\000om'::bytea in 'Th\\000omas'::bytea) 3
substring ( string [ from integer ] [ for integer ]) bytea 抽取子字串 substring('Th\\000omas'::bytea from 2 for 3) h\000o
trim ([ both ] characters from string ) bytea string 的开头/结尾/两端删除 只包含 characters 的最长的字串. trim('\\000'::bytea from '\\000Tom\\000'::bytea) Tom

还有一些二进制字串处理函数可以使用,在下面列出. 其中有一些是在内部使用,用于实现上面列出的 SQL 标准的字串函数的.

Table 4-9. 其它二进制字串函数

函数 返回类型 描述 例子 结果
btrim ( string bytea , trim bytea ) bytea string 的开头和结尾删除(截断) 只包含在 trim 里面的字符的最长的字串. btrim('\\000trim\\000'::bytea,'\\000'::bytea) trim
length ( string ) integer 二进制字串的长度 length('jo\\000se'::bytea) 5
encode ( string bytea , type text ) text 把二进制字串编码为只包含 ASCII 的表现形式. 类型是∶'base64','hex','escape'. encode('123\\000456'::bytea, 'escape') 123\000456
decode ( string text , type text ) bytea 把前面用 encode() 编码的放在 string 里的 二进制字串解码.参数类型和 encode() 里的一样. decode('123\\000456', 'escape') 123\000456