282
人物
字符串类型__数据类型_SQL语法参考_云数据库 OceanBase-阿里云
字符类型 | 字节 | 说明 |
CHAR | 0-255 | CHAR列的长度固定为创建表时声明的长度。 长度可以为从0到255的任何值。 |
VARCHAR | 0-262143 | VARCHAR的最大实际长度由最长的行的大小和使用的字符集确定。 最大有效长度是256K,区别于MySQL的64K。 |
BINARY | 0-255 | 类似于CHAR类型,但保存二进制字节字符串而不是非二进制字符串。 |
VARBINARY | 0-262143 | 类似于VARCHAR类型,但保存二进制字节字符串而不是非二进制字符串。 |
CHAR
CHAR[(M)] [CHARACTER SET charsetname] [COLLATE collationname]
CHAR列的长度固定为创建表时声明的长度。长度可以为从 0 到 255 的任何值。 当保存 CHAR 值时,在它们的右边填充空格以达到指定的长度。当检索到 CHAR 值时, 尾部的空格被删除掉。在存储或检索过程中不进行大小写转换。
若没有指定长度,则是CHAR(1)的同义词。
OceanBase 1.0中Char和Varchar数据类型在内部都是变长存储。
CHAR是CHARACTER的简写。
VARCHAR
VARCHAR(M) [CHARACTER SET charsetname] [COLLATE collationname]
变长字符串。M表示最大列长度。VARCHAR的最大实际长度由最长的行的大小和使用的字符集确定。最大有效长度是256K(262,144字节)。假设系统使用UTF8MB4字符集,每个字符占用4字节,M最大值为:(1024*256)/4 = 65536 (字符)。则M的范围是0到65536。
如果分配给CHAR或VARCHAR列的值超过列的最大长度,则对值进行裁剪以使其适合。如果被裁掉的字符是空格,则可以成功插入。如果裁剪非空格字符,则会造成错误(而不是警告)并通过使用严格SQL模式禁用值的插入。
VARCHAR是字符CHAR VARYING的简写。
varchar类型最大长度限制:
建表的时候,检查varchar类型主键长度之和小于等于16K,且总长度小于1.5M,否则报错;
建立索引的时候,索引表中varchar类型主键之和小于等于16K,且总长度小于1.5M,否则不允许建立索引;
单个varchar列长度小于256K。
CHAR和VARCHAR的区别:
同CHAR对比,VARCHAR值保存时只保存需要的字符数,另加一到三个字节来记录长度。
下面的表显示了将各种字符串值保存到CHAR(4)和VARCHAR(4)列后的结果,说明 了CHAR和VARCHAR之间的差别:
值 | CHAR(4) | 存储需求 | VARCHAR(4) | 存储需求 |
---|---|---|---|---|
'' | ' ' | 4 个字节 | '' | 1 个字节 |
'ab' | 'ab ' | 4 个字节 | 'ab ' | 3 个字节 |
'abcd' | 'abcd' | 4 个字节 | 'abcd' | 5 个字节 |
'abcdefgh' | 'abcd' | 4 个字节 | 'abcd' | 5 个字节 |
上表最后一行仅限于没有使用严格SQL模式的情况下,若使用了严格SQL模式,会直接报错,并非存储截断的字符串。
BINARY, VARBINARY
BINARY和VARBINARY类似CHAR和VARCHAR,不同的是它们包含二进制字符串而不要非二进制字符串。也就是说,它们包含字节字符串而不是字符字符串。这说明它们没有字符集,并且排序和比较基于列值字节的数值值。
BINARY和VARBINARY允许的最大长度一样,如同CHAR和VARCHAR,不同的是BINARY和VARBINARY的长度是字节长度而不是字符长度。
最后更新:2016-11-23 16:03:54
上一篇:
数值类型__数据类型_SQL语法参考_云数据库 OceanBase-阿里云
下一篇:
时间日期类型__数据类型_SQL语法参考_云数据库 OceanBase-阿里云
停用伸缩组__伸缩组_用户指南_弹性伸缩-阿里云
查看服务实例__应用API列表_API参考_容器服务-阿里云
配置示例__EDAS 中的 Dubbo 开发_开发者指南_企业级分布式应用服务 EDAS-阿里云
下载、安装阿里云新版Java SDK__SDK 参考_云服务器 ECS-阿里云
多应用共享公网带宽__最佳实践_用户指南_专有网络 VPC-阿里云
在线自助实验介绍__在线自助实验_上云培训-阿里云
百度联手奇瑞打造全新人工智能汽车,阿里云推出FPGA计算实例,提供人工智能加速服务
批量修改解析记录__批量管理接口_API文档_云解析-阿里云
Demo 环境准备__MQ Demo 工程_消息队列 MQ-阿里云
SystemParameter__数据类型_API_API 网关-阿里云
相关内容
常见错误说明__附录_大数据计算服务-阿里云
发送短信接口__API使用手册_短信服务-阿里云
接口文档__Android_安全组件教程_移动安全-阿里云
运营商错误码(联通)__常见问题_短信服务-阿里云
设置短信模板__使用手册_短信服务-阿里云
OSS 权限问题及排查__常见错误及排除_最佳实践_对象存储 OSS-阿里云
消息通知__操作指南_批量计算-阿里云
设备端快速接入(MQTT)__快速开始_阿里云物联网套件-阿里云
查询API调用流量数据__API管理相关接口_API_API 网关-阿里云
使用STS访问__JavaScript-SDK_SDK 参考_对象存储 OSS-阿里云