在查询中排序时避免不了的,一般写sql我们都会加排序字段。
如果排序字段是字符串,那就有点麻烦。
比如一个数字字段,本来应该设计成Integer型的,但设计成了varcher型。
那排序就有问题。数字的话,他会先拍最高位,再拍第2位。
比如8,12降序排序就是8,12而不是我们想要的12,8.
如果有空字符串,那空字符串就拍第一个。
所以需要把字符串转成数字在排序,这样就正常了。
to_number()
select * from cx_faq_main t
where t.counter is not null
order by to_number(t.counter) desc