更新时间:2024-06-03 GMT+08:00

字符集与字符序

字符集(Character Set)是字符的编码规则,字符序(Collation)是字符的排序规则,本章主要对GaussDB的MYSQL兼容模式(即sql_compatibility = 'MYSQL')下的字符集、字符序进行介绍,以下介绍的字符集、字符序规则和语法仅在MYSQL兼容模式下支持。

GaussDB目前所支持的字符集可以参考CREATE DATABASE章节中ENCODING部分介绍,所支持的字符序可以通过查询系统表PG_COLLATION。

其中,部分字符集在MYSQL模式下存在默认字符序,可以参考表1

字符集和字符序存在以下说明:

  • 每一个字符集都有一个或多个字符序,只有一个字符序为字符集的默认字符序。

  • 每一个字符序仅有一个相关联的字符集。

  • 相同数据使用不同的字符序排序结果可能会不同。

  • 在GaussDB中,utf8mb4与utf8为同一字符集。

  • 在GaussDB的MYSQL模式(即sql_compatibility = 'MYSQL')下,BINARY字符集与SQL_ASCII字符集为同一字符集。
  • 建议表字段和server_encoding选择相同字符集,避免转码带来的性能损耗。

GaussDB数据库支持以下功能:

  • 支持多种字符集存储字符串。

  • 支持使用字符序比较字符串。

  • 支持数据库级、模式级、表级、字段级字符集和字符序。

    暂不支持在同一服务器、同一数据库、同一个表、同一条SQL语句中混合使用不同字符集和字符序的字符串。