Avatar billede larsomania Nybegynder
07. oktober 2003 - 08:15 Der er 4 kommentarer og
1 løsning

ROUND virker ikke

Eller også gør jeg det nok bare forkert.

select round(cast(amount as float), 2,0), t_ordernr, t_partnr, * from captura where submisname like '20030201000601'

Skulle gerne returnere feltet fra amount (som oprindelig er tekst) som en nummeric med to decimaler. Men ovenstående giver mig

9.3000000000000007
29.199999999999999
2.0
1.8999999999999999
74.950000000000003
7.8499999999999996
22.5
96.790000000000006

I stedet for

9.30
29.20

osv, som er det jeg gerne vil have.

Any clues?
Avatar billede bennytordrup Nybegynder
07. oktober 2003 - 08:28 #1
Det er "by design" med float.

Gør således, hvis du vil have nøjagtig to decimaler:

select cast(amount as decimal(19,2)), t_ordernr, t_partnr, * from captura where submisname like '20030201000601'
Avatar billede jpvj Nybegynder
07. oktober 2003 - 08:30 #2
Prøv
'select cast(round(cast(amount as float), 2,0) as decimal (10,2), t_ordernr, t_partnr, * from captura where submisname like '20030201000601'
Avatar billede bennytordrup Nybegynder
07. oktober 2003 - 08:30 #3
jpvj>> Jeg går ud fra, at amount i forvejen er et float, så hvorfor caste den til en float?
Avatar billede larsomania Nybegynder
07. oktober 2003 - 08:32 #4
Tak - det virker.
Avatar billede jpvj Nybegynder
07. oktober 2003 - 08:39 #5
Det gik jeg blot ikke udfra når nu spørger caster den :-)

Men hvis den er, er det naturligvis overflødigt.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester