GBase 8s可能会把一些字符串列改为与在CREATE TABLE或ALTER TABLE语句中定义的所不同的类型。
有几个关于字符串数据类型需要注意的地方:
对于许多字符串数据类型的列定义可以包含CHARACTER SET属性,这样可以随意地指定一个字符集和一个排序规则。(CHARSET是CHARACTER SET的一个别名。)这些属性适用于CHAR,VARCHAR,TEXT,ENUM和SET。例如:CREATE TABLE t (c1 CHAR(20) CHARACTER SET utf8);这个表定义中创建了一个名为c1的列,它有一个utf8的字符集和对于这个字符集的缺省校验。
GBase 8s把字符列定义中的长度设定解释成以字符为单位的。对于CHAR,VARCHAR和TEXT类型,BINARY属性会导致分配给该列一个列字符集的二进制排序规则。
字符列的分类和比较都是基于分配给该列的字符集的。对于CHAR和VARCHAR列,可以在声明列的时候使用BINARY属性,这样可以使分类和比较使用基本的字符代码而不是字典排序。
关于支持的字符集,详情请参见管理员手册中的第四章字符集支持。
[NATIONAL] CHAR(M) [BINARY|ASCII|UNICODE]
字符串类型,当存储的字符长度不够时字符串右边用空格补齐。M表示该列中串的长度,其范围是0到255个字符。
注意:当检索CHAR值时,会删除掉后面填充的空格。
CHAR是CHARACTER的缩写。NATIONALCHAR(或它等价的缩写形式,NCHAR)是用来定义一个使用默认的字符集的CHAR列的标准SQL方法。这在GBase 8s中是缺省设置。
BINARY属性指定一个列的二进制排序规则,其分类和比较都基于数值的字符值。
列类型CHARBYTE是CHARBINARY的别名,这是一种兼容特性。
可以对CHAR指定ASCII属性ÿ
GBase 8s字符串类型
最新推荐文章于 2024-04-29 21:27:43 发布