Registriert seit: 27. Nov 2017
2.490 Beiträge
Delphi 7 Professional
|
AW: Cast(wert as decimal(10,2))
3. Nov 2021, 19:12
Leider schreibst Du nichts dazu, wie die Zahlen im Char(500) gespeichert sind.
Mit Dezimalkomma, mit Dezimalpunkt, Zahlen linksbündig auf Länge x mit 0 aufgefüllt ...
Funtioniert denn überhaupt ein SELECT CAST(WERT AS DECIMAL(10,2)) As OrderByWert FROM S_EINSTELLUNGEN_WERTE WHERE STATUS = 'Aktiv' AND FIXWERT = 6
?
Warum müssen die Zahlen überhaupt auf Decimal(10,2) getrimmt werden?
Es soll doch nach Zahlen sortiert werden, dabei ist es vollkommen egal, ob und wieviele Nachkommastellen die haben, es sei denn, es soll noch eine implizite Rundung der Zahlen erfolgen.
Mir fallen jetzt nur zwei Varianten ein:
SELECT * FROM S_EINSTELLUNGEN_WERTE WHERE STATUS = 'Aktiv' AND FIXWERT = 6 order by Cast(Wert as numeric)
oder
SELECT * FROM S_EINSTELLUNGEN_WERTE WHERE STATUS = 'Aktiv' AND FIXWERT = 6 order by LPad(Wert,10,'0')
Geändert von Delphi.Narium ( 3. Nov 2021 um 23:10 Uhr)
Grund: Schreibfehler ...
|