MySQL中的列大小值比较
时间:2009-02-01 来源:hkebao
今天犯了一个错误。对于字符串类型的列比如说
表T1:字段a char类型其值为100
表T2:字段b char类型值为25
那如果我们的SQL命令是这样来写的话:
select * from t1,t2 where t2.a>t1.a
是可以将25也取出来了的哦。因为在MYSQL中是如果字段类型是字符串的话是通过首字母的进行比较的哦!
所以要是这样的话我们要通过将其转换成数字类型的哦!
select * from t1,t2 where cast(t2.a as unsigned)>cast(t1.a as unsigned)这样才能进行正常比较的。切记啊!
表T1:字段a char类型其值为100
表T2:字段b char类型值为25
那如果我们的SQL命令是这样来写的话:
select * from t1,t2 where t2.a>t1.a
是可以将25也取出来了的哦。因为在MYSQL中是如果字段类型是字符串的话是通过首字母的进行比较的哦!
所以要是这样的话我们要通过将其转换成数字类型的哦!
select * from t1,t2 where cast(t2.a as unsigned)>cast(t1.a as unsigned)这样才能进行正常比较的。切记啊!
相关阅读 更多 +