Solange wir keine Antwort auf die Frage
Zitat:
Leider schreibst Du nichts dazu, wie die Zahlen im Char(500) gespeichert sind.
bekommen, haben wir keine Chance eine sicher funktionierende Lösung zu finden.
Bei einem
CAST(WERT AS DECIMAL(10,2))
gehe ich mal davon aus, dass der Versuch gestartet werden soll, aus Zahlen mit zwei Nachkommastellen, die als String gespeichert sind, vergleichbare Zahlen zu machen.
Warum sollte man aus einem als Zeichenfolge vorliegenden 1,000001 zum Sortieren ein 1,00 machen? Da werden dann halt auch 1,001 und 1,0001 und 1,009999 und viele andere gleich
Wäre also egal für welche Variante man sich entscheidet, Decimal(10,2) oder LPad(Wert,10,'0'), die Sortierung wäre, bei einer unstrukturierten Datenbasis, auf jeden Fall falsch