以正确的方式排序由撇号分隔的数值?

时间:2016-08-17 10:32:43

标签: sql string oracle sorting numeric

我有一张表,其中有一些数字记录,例如:

NET_SALES 
0 
0 
318 
1'200 
10'720 
12'812
-1'285 
13'682 
40'713
-4'170 
...

我用过:

TO_CHAR(Numeric field, 'NLS_NUMERIC_CHARACTERS = ''.''''') 

但是,当我对字段进行排序时,它不会以正确的方式对其进行排序,因为首先应该显示负数,然后是0,然后是正数。我知道问题是因为现在这个字段是字符,但是我想用撇号分开并以正确的方式对它们进行排序。

我尝试将其转换为TO_NUMBER,但撇号消失了......

有没有办法对它们进行排序?

非常感谢!

1 个答案:

答案 0 :(得分:1)

这个怎么样?

order by cast(replace(Numeric field, '''', '') as int)