Avatar billede 0verwrite Nybegynder
31. juli 2003 - 13:06 Der er 4 kommentarer og
1 løsning

sum() på float

Jeg har store problemer med SUM(), den kaster ekstra decimal'er på mine values!

hvis jeg SELECT'er SUM(betalt) FROM posteringer WHERE id = '1' skulle den gerne give mig et sum af 1495.25 men den smider selv en masse decimaler på så det bliver 1495.250078095 eller lign. hvilken ikke helt holder!

betalt er sat til FLOAT, ved ikke om det er der filmen knækker?

håber i kan hjælpe!
Avatar billede arne_v Ekspert
31. juli 2003 - 13:12 #1
Sådan virker rigtige floating point data typer som FLOAT og DOUBLE.

Hvis du vil have "korrekte" resultater skal duu bruge DECIMAL eller
NUMERIC som data type.
Avatar billede 0verwrite Nybegynder
31. juli 2003 - 13:20 #2
phyh hvilken jungle med alle de datatypes...

hvis jeg bruger tal med 2 decimaler og som både er plus og minus tal hvilken datatype skal jeg så bruge, hvilken vil være optimal!

det skal samtidig siges jeg MEGET gerne vil kunne sortere efter dette så:
998 ikke kommer før 1200 som hvis det var varchar...

derudover vil jeg gerne kunne regne i mysql eks.: betalt+ubetalt AS min_sum

hvilken datatype er bedst til dette formål?

ps. hvis svaret er decimal / numeric skal længden så defineres som 25,2 (25 tal lang og med 2 decimaler) ?
Avatar billede arne_v Ekspert
31. juli 2003 - 13:35 #3
DECIMAL eller NUMERIC.

(de er præcis det samme i MySQL, så det er ligegyldigt hvad du vælger)

MySQL vil sortere de datatyper korrekt numerisk 998 mindre end 1200.

Og du kan regne på dem.

Men de laver ikke "afrundings fejl".

Ulemper er at gange og divider vil være lidt langsommere og at de tager
lidt mere plads.

25,2 er en mulighed - selvom jeg synes at 25 er langt !
Avatar billede arne_v Ekspert
18. august 2003 - 23:44 #4
Har du fået svar på spørgsmålet ?
Avatar billede arne_v Ekspert
10. september 2003 - 22:29 #5
??
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