BINARY和VARBINARY类型--MySql数据库
来源:互联网 发布:实用办公数据处理软件 编辑:程序博客网 时间:2024/05/16 09:04
BINARY和VARBINARY类类似于CHAR和VARCHAR,不同的是它们包含二进制字符串而不要非二进制字符串。也就是说,它们包含字节字符串而不是字符字符串。这说明它们没有字符集,并且排序和比较基于列值字节的数值值。 BINARY和VARBINARY允许的最大长度一样,如同CHAR和VARCHAR,不同的是BINARY和VARBINARY的长度是字节长度而不是字符长度。 BINARY和VARBINARY数据类型不同于CHAR BINARY和VARCHAR BINARY数据类型。对于后一种类型,BINARY属性不会将列视为二进制字符串列。相反,它致使使用列字符集的二元 校对规则,并且列自身包含非二进制字符字符串而不是二进制字节字符串。例如CHAR(5) BINARY被视为CHAR(5) CHARACTER SET latin1 COLLATE latin1_bin,假定默认字符集是latin1。这不同于BINARY(5),它保存5字节二进制字符串,没有字符集或 校对规则。当保存BINARY值时,在它们右边填充值以达到指定长度。填充值是0x00(零字节)。插入值时在右侧添加0x00on,并且选择时不删除尾部的字节。比较时所有字节很重要,包括ORDER BY和DISTINCT操作。比较时0x00字节和空格是不同的,0x00<空格。例如:对于一个BINARY(3)列,当插入时'a'变为'a //0'。'a//0'插入时变为'a//0//0'。当选择时两个插入的值均不更改。对于VARBINARY,插入时不填充字符,选择时不裁剪字节。比较时所有字节很重要,包括ORDER BY和DISTINCT操作。比较时0x00字节和空格是不同的,0x00<空格。对于尾部填充字符被裁剪掉或比较时将它们忽视掉的情形,如果列的索引需要唯一的值,在列内插入一个只是填充字符数不同的值将会造成复制键值错误。如果你计划使用这些数据类型来保存二进制数据并且需要检索的值与保存的值完全相同,应考虑前面所述的填充和裁剪特征。下面的例子说明了用0x00填充的BINARY值如何影响列值比较:mysql>CREATE TABLE t (c BINARY(3));Query OK, 0 rows affected (0.01 sec) mysql>INSERT INTO t SET c = 'a';Query OK, 1 row affected (0.01 sec) mysql>SELECT HEX(c), c = 'a', c = 'a//0//0' from t;+--------+---------+-------------+| HEX(c) | c = 'a' | c = 'a//0//0' |+--------+---------+-------------+| 610000 | 0 | 1 |+--------+---------+-------------+1 row in set (0.09 sec) 如果检索的值必须与指定进行存储而没有填充的值相同,最好使用BLOB数据类型。创建表时,MySQL可以默默更改BINARY或VARBINARY列的类型。参见13.1.5.1节,“沉寂的列规格变更”。
- BINARY和VARBINARY类型--MySql数据库
- MySQL基础知识---------BINARY和VARBINARY类型
- MySQL 数据类型BINARY和VARBINARY
- BINARY和VARBINARY类型的区别
- mysql binary和varbinary存储字段转换大小写
- binary 和 varbinary 用法全解
- binary 和 varbinary 用法全解
- sql server 2005 T-SQL binary 和 varbinary (Transact-SQL)
- SQL-SQL中binary 和 varbinary的区别
- SQL中binary 和 varbinary的区别 blob
- char、varchar、binary和varbinary的区别与联系
- binary,varbinary,image的区别
- 数据库varbinary字符串乱码问题
- mysql varbinary 转为 char/varchar
- C#向SqlServer varbinary类型插数据
- C#向SqlServer varbinary类型插数据
- DATETIME、DATE和TIMESTAMP类型--MySql数据库
- Mysql数据库中varchar类型和char类型的区别
- C#基础知识和开发技巧
- [FreeBSD] 安裝 memcache for php 多重伺服器共享 Session
- 如何开始做项目
- JS探测网站链接
- 在Struts+Spring+ibaits中使用poi进行excel操作时候的问题
- BINARY和VARBINARY类型--MySql数据库
- WindowsXP-KB898461无法安装问题的解决
- SIP Applications (Proxy, PBX, ...)的开源
- 原来不用变量交换两个整型值这么简单
- 山药怎么做才好吃
- 高价能源助力泵类市场潜力巨大
- 劳动部调整月平均工作时间和工资折算办法
- MySQL的安装配置
- 市场关注:从泵的性能看泵的应用范围