unicode_assigned()

一个判断字符串是否仅包含 Unicode 码点的函数
此条目涉及 PostgreSQL 的一项功能,该功能是 PostgreSQL 17 的一部分,预计将于 2024 年底发布。

unicode_assigned() 是一个系统函数,用于确定字符串中的所有字符是否都分配了 Unicode 码点。

unicode_assigned()PostgreSQL 17 中添加。

用法

unicode_assigned ( text ) → boolean

unicode_assigned() 仅在数据库编码为 UTF8 时才能使用。

变更历史

示例

unicode_assigned() 的基本用法示例

postgres=# SELECT unicode_assigned(U&'abcほげ');
 unicode_assigned 
------------------
 t
(1 row)

包含未分配给 Unicode 字符的码点的字符串

postgres=# SELECT unicode_assigned(U&'abcほげ\+10FFFF');
 unicode_assigned 
------------------
 f
(1 row)

在非 UTF8 数据库中尝试使用 unicode_assigned()

postgres=# CREATE DATABASE iso8859 TEMPLATE template0 ENCODING 'iso-8859-1' LOCALE 'C';
CREATE DATABASE

postgres=# \c iso8859 
You are now connected to database "iso8859" as user "postgres".

iso8859=# SELECT unicode_assigned('abc');
ERROR:  Unicode categorization can only be performed if server encoding is UTF8

分类

校对区域设置和字符集处理

参见

unistr()

反馈

提交您对 "unicode_assigned()" 的任何评论、建议或更正 此处