Oracle对字符串排序问题解决

之前遇到的一个问题,我想让它按照这个顺序去排序,

但是写出来执行之后是这样的

因为这个字段是字符串类型的:

原来是Oracle对于字符串的排序是先排第一位的数字(从左往右数),空格先排,然后按照数字小的先排,后面才到数字大的。
比如1,2,12,13,23,24,排完之后的顺序是:1 12 13 2 23 24。

对于这个问题,可以把要排序的字符串转为数字类型,即用to_number()。

select * from vehicle order by  to_number(nscvehicletype)

这样就能得到想要的效果了。

猜你喜欢

转载自blog.csdn.net/Javaxiaobaismc/article/details/108592873
今日推荐