MySQL中varchar无法使用max和min函数

直接对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

猜你喜欢

转载自blog.csdn.net/WYA1993/article/details/81329171