唉,真得是,有事没事地总会遇到点奇奇怪怪的bug
不多说了,看图
REGISTRATION_ID字段是NVARCHAR2类型的,当我以此进行降序排序时,发现序列似乎是按左对齐排的,从第一位开始比较,第一位大的排在前面,如果第一位相同则继续比较第二位,上面这种情况,“34093”虽然数值比较小,但是首位数字大,所以排在的前面。
这是orcle内部排序规则的问题,mysql也同样如此。如果想要按数值大小进行排序,就需要先将其转化为数值类型。
1. 使用To_Number转化函数。
2. 直接在后面加一个0 也是同样的效果