chr()

将整数转换为字符的函数

chr() 是一个系统函数,用于将整数转换为 ASCII 或 UTF8 字符。

chr() 添加于 PostgreSQL 7.1

用法

chr ( integer ) → text

在使用 UTF8 编码时,整数参数被视为 Unicode 代码点。在其他编码中,参数必须表示 ASCII 字符。

0 不允许,因为它不能被文本数据类型存储。

如果提供了无效的输入参数值,则会引发错误。

要获取字符的数字代码,请使用 ascii()

更改历史记录

示例

chr() 的基本用法示例

postgres=# SELECT chr(97);
 chr 
-----
 a
(1 row)

使用其 UTF8 代码点返回 Unicode 字符

postgres=# SELECT chr(12354);
 chr 
-----
 あ
(1 row)

在非 UTF8 数据库中,只能提供有效的 ASCII 值

locale_test=# \l locale_test
                                    List of databases
    Name     |  Owner   | Encoding |    Collate     |     Ctype      | Access privileges 
-------------+----------+----------+----------------+----------------+-------------------
 locale_test | postgres | LATIN1   | de_DE.iso88591 | de_DE.iso88591 | 
(1 row)

locale_test=# SELECT chr(12354);
ERROR:  requested character too large for encoding: 12354

当客户端编码不是 UTF8 时,也适用相同规则

postgres=# SET client_encoding TO latin1;
SET

postgres=# SELECT chr(12354);
ERROR:  character with byte sequence 0xe3 0x81 0x82 in encoding "UTF8" has no equivalent in encoding "LATIN1"

0 不能提供

postgres=# SELECT chr(0);
ERROR:  null character not permitted

分类

字符串操作系统函数

另请参阅

ascii()

反馈

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