MySQL社区

标题: int unsigned 类型使用alter 转换binary疑问 [打印本页]

作者: weijian    时间: 2013-9-9 15:57
标题: int unsigned 类型使用alter 转换binary疑问
原有一表单ip,有一列src_ip,原类型为int(10) unsigned,有数据3388998309,使用"where src_ip=3388998309" 或者"where src_ip=0xca0002a5"都可查询到数据,现在使用alter转换src_ip类型为binary(16),使用"where src_ip=3388998309" 可查询导数据,"where src_ip=0xca0002a5"查询不到数据,各位坛友有知道怎么回事的吗,多谢。

作者: kider    时间: 2013-9-9 17:17
0xca0002a5是 3388998309的十六进制表示法。
当是Int类型时,是对等的。
转换成BINARY后,BINARY类型类似于CHAR类型,那么就应该是当字符串来匹配了,此时两个数不对等了,所有就查不到了吧。




欢迎光临 MySQL社区 (http://www.mysqlpub.com/) Powered by Discuz! X3.2