2016-08-17 1 views
0

Ich habe eine Tabelle, wo ich einige numerische Datensätze wie:Richtige Sortierung von numerischen Werten, die durch ein Apostroph getrennt sind?

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

Ive verwendet:

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

jedoch, wenn ich das Feld sortieren sie es spielt keine Art in einem rechten Weg, denn zuerst sollten die negativen Zahlen, dann die 0 und dann die positiven Zahlen angezeigt werden. Ich weiß das Problem ist, weil jetzt das Feld Zeichen ist, aber ich möchte durch Hochkommas trennen und sie richtig sortieren können.

ich es versucht Umwandlung TO_NUMBER wieder, aber die Apostrophe verschwinden ...

Gibt es eine Möglichkeit, sie zu sortieren?

Vielen Dank!

+0

AUSWÄHLEN TO_CHAR ... ORDER BY TO_NUMBER ...? – jarlh

+0

Was ist der Spaltendatentyp? Die Frage impliziert, dass es sich um eine Zahl handelt. In diesem Fall würden Sie einfach "order by numeric_field"; und wenn es eine Zeichenkette ist (a) warum und (b) warum benutze 'to_char()'? –

+0

@Alex Poole, der Spaltendatentyp ist eine NUMBER und ich konvertiere in eine Zeichenkette, um die Zahl zu formatieren, die die Apostrophe hinzufügt, um die Tausender zu trennen. –

Antwort

1

Was ist damit?

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

Danke, aber schließlich musste ich eine Eigenschaft auf Datagridview auf .NET ändern, denn mit der Abfrage hatte ich nichts zu tun ... –

Verwandte Themen