On 14 August 2010 22:46, Stefan Wild <wild...@yahoo.de> wrote:
> 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.
>

I'm confused as to why UPPER appears in your ORDER BY clause.
-- 
Thom Brown
Registered Linux user: #516935

-- 
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

Reply via email to