Truncar valores no firebird

Pessoal, estou com um problema. Preciso usar uma função que trunque o valor em uma procedure Firebird.

Por ex:

Tenho o valor 12,589. Gostaria que esse valor tornasse 12,58 e não 12,59 (Valor arredondado).

Alguma sugestão?

Thyago,
Você já deve ter achado a solução mas vai a reposta para o pessoal que tiver a mesma dúvida.
Supondo que já esteja conectado na sua database pode fazer o teste:
SQL> select 15 / cast(7 as double precision) from rdb$database;

             DIVIDE

=======================
2.142857142857143

Para arredondar com round: http://www.firebirdsql.org/refdocs/langrefupd25-intfunc-round.html

SQL> select round(15 / cast(7 as double precision),3) from rdb$database;

              ROUND

=======================
2.143000000000000

Observação o tipo de arredondamento feito por round é o usado no Brasil e segue a Norma ABNT NBR 5891.

Para truncar use trunc: http://www.firebirdsql.org/refdocs/langrefupd25-intfunc-trunc.html

SQL> select trunc(15 / cast(7 as double precision),3) from rdb$database;

              TRUNC

=======================
2.142000000000000

Observação o truncamento pode e conterá mais erros nas contas finais que o arredondamento.

Observação final: Testado no firebird 2.5.5.