Hello guys,
I have following sorting problem and need your help. When executing this SELECT
statement:
"SELECT d.id, d.name,
d.description, ts.name, d.opentimestamp,
d.initialvalue, d.plmoney, d.performance,
d.performancepa, d.currentopenmoney, d.investedmoney,
d.investedpercent, d.cashmoney, d.realizedwinmoney,
d.realizedlossmoney, d.currenttotalvalue, d.depotriskpercent,
d.taxesratepercent, d.taxallowance, d.paidtaxes, d.paidfees
FROM c_depots d INNER JOIN c_tradingsystems ts ON
d.tradingsystem_id=ts.id INNER JOIN cx_users_depots cx ON cx.id_depots=d.id
INNER JOIN c_users u ON cx.id_users=u.id WHERE u.login='xxxx' ORDER BY
UPPER(CAST (d.currenttotalvalue AS numeric) ) DESC"
the resulting ordering is wrong:
(d.currenttotalvalue)
99999999999,99
9999999999,99
999999999,99
99999,99
100947,51
100251,14
100100
10000000000
10000000000
100000
I would expect:
99999999999,99
9999999999,99
10000000000
10000000000
999999999,99
99999,99
100947,51
100251,14
100100
100000
The column currenttotalvalue has a numeric type with a length of 14 and 2
digits for percision. The initial SELECT didn't used the CAST, but the result
was also wrong.
I'm (still) using the postgres version 8.2.
Thanks for your support.
--
Sent via pgsql-general mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general