MySQL中的MAX函数总结

/ Java / 0 条评论 / 1252 浏览

今天,在对一个字段类型为varchar的字段使用MAX函数进行取最大值查询时,发现取到的值始终是9,而表中实际的最大值是20。最后没有办法,只好进入phpmyadmin将该字段转换成了int类型,终于才正常了。 在网上查询了一下其它的处理方法,总结如下:

对数据库中数字类型的字段取最大值可以直接用: SELECT MAX(field-name) FROM table-name WHERE conditions 而对于其它类型的字段要使用以下语句: SELECT MAX(CAST(field-name AS UNSIGNED)) FROM table-name WHERE conditions

原因是max() 是对数字类型求最大,而varchar 则会出现异常。