数据库中按某个字段排序的时候,经常会遇到 String 类型的数据,不对,这样说有点不准确,应该说是 varchar 类型的,在java 实体里面定义的String 型, 数据库存的是 varchar。
我有个字段 SCORE,数据库存的是 varchar 类型,但我算出来的是数值,其实是0-100的分值,然后我要按照分值进行排序。
如果直接 ORDER BY SCORE DESC 的话,其实是按字符串排的,100会排到最后面,80几分会排在9分后面,所以要转成数值进行排序,只需要加 "ABS" 就好了哈哈哈。
ORDER BY "ABS"(SCORE) DESC