今天,在对一个字段类型为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 则会出现异常。**
本文由 admin 创作,采用 知识共享署名4.0 国际许可协议进行许可。
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名。