直接对varchar类型使用min函数或者max函数结果是错误的,可以使用下面的方式
1、将需要使用max()函数的字段后面加0,比如字段:field是要使用max()函数的字段,那么只要
SELECT MAX(field+0) FROM tablename
这样就可以了,这应该是MySQL内部自己转的。
2、使用cast()函数
SELECT MAX(cast(field as decimal)) FROM tablename
但是这样默认保留精度是0,即小数点后面的会四舍五入到整数位
如果想保留精度可以
SELECT MAX(cast(field as decimal(9,2))) FROM tablename