暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

OceanBase SQL语句字符集和字符序

2024-04-17
658

OceanBase 数据库默认的字符集是 utf8mb4

OceanBase 数据库目前支持如下字符集:

  • binary

  • gbk

  • gb18030

  • utf16

  • utf8mb4

说明

  • 为支持无缝迁移,OceanBase在语法上将 UTF8 视为 UTF8MB4 的同义词。
  • 数据库字符集暂不支持修改。

要显示可用的字符集,请使用如下 SHOW CHARACTER SET 语句。

obclient> SHOW CHARACTER SET;
+---------+-----------------------+--------------------+--------+
| Charset | Description           | Default collation  | Maxlen |
+---------+-----------------------+--------------------+--------+
| binary  | Binary pseudo charset | binary             |      1 |
| utf8mb4 | UTF-8 Unicode         | utf8mb4_general_ci |      4 |
| gbk     | GBK charset           | gbk_chinese_ci     |      2 |
| utf16   | UTF-16 Unicode        | utf16_general_ci   |      2 |
| gb18030 | GB18030 charset       | gb18030_chinese_ci |      4 |
+---------+-----------------------+--------------------+--------+
5 rows in set 

OceanBase 数据库支持指定非默认字符集与服务器通信。例如,要使用 gbk 字符集,在连接到服务器后执行以下语句:

obclient> SET NAMES gbk;
Query OK, 0 rows affected 


OceanBase 数据库默认的字符序是 utf8mb4_general_ci

OceanBase 数据库目前支持的字符序如下表所示。

字符序所属字符集说明
utf8mb4_general_ciutf8mb4使用通用排序规则。
utf8mb4_binutf8mb4使用二进制排序规则。
binarybinary使用二进制排序规则。
gbk_chinese_cigbk使用中文语言排序规则。
gbk_bingbk使用二进制排序规则。
utf16_general_ciutf16使用通用排序规则。
utf16_binutf16使用二进制排序规则。
gb18030_chinese_cigb18030使用中文语言排序规则。
gb18030_bingb18030使用二进制排序规则。

说明

  • 对于任何 Unicode 字符集,使用 xxx_general_ci 排序规则执行的操作比使用 xxx_unicode_ci 排序规则执行的操作快。
  • 字符序暂不支持修改。

默认情况下,使用 SHOW COLLATION 语句显示所有可用的字符序。

obclient> SHOW COLLATION;
+--------------------+---------+-----+---------+----------+---------+
| Collation          | Charset | Id  | Default | Compiled | Sortlen |
+--------------------+---------+-----+---------+----------+---------+
| utf8mb4_general_ci | utf8mb4 |  45 | Yes     | Yes      |       1 |
| utf8mb4_bin        | utf8mb4 |  46 |         | Yes      |       1 |
| binary             | binary  |  63 | Yes     | Yes      |       1 |
| gbk_chinese_ci     | gbk     |  28 | Yes     | Yes      |       1 |
| gbk_bin            | gbk     |  87 |         | Yes      |       1 |
| utf16_general_ci   | utf16   |  54 | Yes     | Yes      |       1 |
| utf16_bin          | utf16   |  55 |         | Yes      |       1 |
| utf16_unicode_ci   | utf16   | 101 |         | Yes      |       1 |
| gb18030_bin        | gb18030 | 249 |         | Yes      |       1 |
+--------------------+---------+-----+---------+----------+---------+
9 rows in set 

字符序具有以下一般特征:

  • 两个不同的字符集不能有相同的字符序。

  • 每个字符集都有一个默认的字符序。SHOW CHARACTER SET 语句指示每个字符集的默认字符序。SHOW COLLATION 语句有一列指示每个字符序是否是其字符集的默认值(如果是则为 Yes,否则为空)。

  • 字符序名称以与它们相关联的字符集的名称开头,通常后跟一个或多个表示其他字符序特征的后缀。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论