10bet网址
MySQL 8.0参考手册
相关的文档10bet官方网站 本手册下载
PDF (Ltr)- 41.9 mb
PDF (A4)- 42.0 mb
手册页(TGZ)- 266.1 kb
手册页(邮政编码)- 376.0 kb
信息(Gzip)- 4.0 mb
信息(邮政编码)- 4.0 mb
本手册节选

10.13.1字符定义数组

每个简单字符集都有一个位于sql /分享/数据集目录中。用于命名为MYSYS,文件命名MYSET. xml.它使用< >地图数组元素以列出字符集属性。< >地图元素出现在这些元素中:

  • < ctype >为每个字符定义属性。

  • < >低而且<上>列出小写字母和大写字母。

  • unicode > <将8位字符值映射到Unicode值。

  • <排序>元素指示用于比较和排序的字符顺序,每次排序一个元素。二进制排序不需要< >地图元素,因为字符代码本身提供了排序。

中实现的复杂字符集ctype -MYSET.c文件字符串目录中,有对应的数组:ctype_MYSET[]to_lower_MYSET[]等等。不是每个复杂字符集都有所有的数组。参见现有的ctype - * . c文件的例子。看到CHARSET_INFO.txt文件字符串目录以获取其他信息。

大多数数组都是按字符值索引的,有256个元素。的< ctype >数组以字符值+ 1为索引,有257个元素。这是用于处理的遗留约定EOF

< ctype >数组元素是位值。每个元素描述字符集中单个字符的属性。中定义的每个属性都与位掩码相关联包括/ m_ctype.h

#define _MY_U 01 /*大写*/ #define _MY_L 02 /*小写*/ #define _MY_NMR 04 /*数字(数字)*/ #define _MY_SPC 010 /*空格字符*/ #define _MY_PNT 020 /*标点符号*/ #define _MY_CTR 040 /*控制字符*/ #define _MY_B 0100 /*空白*/ #define _MY_X 0200 /*十六进制数字*/

< ctype >给定字符的值应该是描述该字符的适用位掩码值的并集。例如,“一个”是一个大写字符(_MY_U)以及十六进制数字(_MY_X),所以其ctypeValue应该这样定义:

ctype['A'+1] = _MY_U | _MY_X = 01 | 0200 = 0201

中的位掩码值m_ctype.h都是八进制值,但元素的< ctype >数组中MYSET. xml应该写成十六进制值。

< >低而且<上>数组保存与字符集每个成员对应的小写和大写字符。例如:

下['A']应该包含'A'上['A']应该包含'A'

每一个<排序>数组指出字符应该如何排序以进行比较和排序。MySQL根据这个信息的值对字符进行排序。在某些情况下,这与<上>数组,这意味着排序是不区分大小写的。有关更复杂的排序规则(针对复杂字符集),请参阅中对字符串排序的讨论第10.13.2节“复杂字符集的字符串排序支持”