Hi!
Ich habe eine MS SQL 2008 DB.
Bei einer Abfrage auf eine der Tabellen wuerde ich gerne nach dem Inhalt einer nVarChar-Spalte sortieren. Die meisten der Werte in diesem Feld werden numerisch sein, daher finde ich es durchaus sinnvoll diese zuerst in ein int-Feld zu konvertieren und danach dann zu sortieren.
Natuerlich geht der Cast nur solange gut wie der Wert tatsaechlich auch keine Buchstaben oder andere Zeichen enthaelt.
Ich wuerde nun gerne den Inhalt meines nVarChar-Feldes in eine int Spalte casten nach welcher ich dann sortieren lassen. Wenn der Inhalt keine Zahl ist wuerde ich den Wert fuers Sortieren durch eine 0 ersetzen, so dass die alphanumerischen Werte ganz oben in der Ergebnismenge sind.
Hier mein Ansatz:
CASE WHEN isnumeric(AlphaNumericCoulmn) = 1 THEN CAST(AlphaNumericCoulmn AS INT) ELSE 0 AS SORT_ORDER
Leider klappt das Ganze natuerlich nicht…
Hat jemand einen Vorschlag wie das Problem richtig geloest werden kann?
Viele Gruesse
RALF