convert()

用于转换 bytea 字符串编码的函数

convert() 是一个系统函数,用于在不同的编码之间转换包含文本的 bytea 字符串。

convert() 添加于 PostgreSQL 7.2

用法

convert ( bytes bytea, src_encoding name, dest_encoding name ) → bytea

如果提供的编码不兼容,或者字符串包含源编码无效的字节序列,则会引发 ERROR 错误。

convert_from()convert_to() 提供相同的功能,无需指定源或目标字符串的编码(如果与当前数据库的编码匹配)。

更改历史记录

示例

在编码之间转换单个字符

postgres=# SELECT 'ä'::bytea, convert('ä'::bytea, 'UTF8', 'LATIN1');
 bytea  | convert 
--------+---------
 \xc3a4 | \xe4
(1 row)

尝试在不兼容的编码之间执行转换

postgres=# SELECT convert('ほげほげ'::bytea, 'UTF-8', 'LATIN1');
ERROR:  character with byte sequence 0xe3 0x81 0xbb in encoding "UTF8" has no equivalent in encoding "LATIN1"

尝试执行转换,其中提供的字符串包含源编码无效的字节序列

postgres=# SELECT convert(E'\\xDEADBEEF', 'UTF8', 'LATIN1');
ERROR:  invalid byte sequence for encoding "UTF8": 0xbe

分类

bytea区域设置和字符集处理字符串操作系统函数

另请参阅

convert_from()convert_to()

反馈

提交任何关于 "convert()" 的评论、建议或更正 此处