【PHP】使用thinkphp5查询最大值时,把varchar类型字段转换成数字
有时候我们需要把carchar类型的字段进行聚合函数运运行(max、min、avg),但是如果直接用聚合函数,得到的结果是错误的,因为varchar字段是字符串,无法直接使用聚合函数,所以需要把varchar字段转换成数字类型,再使用聚合函数进行后续运算。
可以使用‘+0’或‘*1’的方法将字段值转换成数字。如求score_new的最大值,score_new字段是varchar类型。
$max = Db::table('shijuan_achieve')->max('score_new*1');
或
$max = Db::table('shijuan_achieve')->max('score_new+0');