Avatar billede zamiel Nybegynder
17. oktober 2007 - 10:34 Der er 9 kommentarer og
1 løsning

spørgsmål omkring antal af decimaler i oracls float

Kan man på nogen måde få oracle til at gemme/returnere flere decimaler med nul værdi? eks. jeg vil gerne gemme 5,50 men oracle gemmer denne som 5,5

Jeg har prøvet med både float og number med scale uden succes.
Avatar billede michael_stim Ekspert
17. oktober 2007 - 10:44 #1
NUMBER med scale, er grænsen vist 38 digits. Ved float tror jeg bare man skal udelade precision og scale. Men er ikke helt sikker.
Avatar billede pgroen Nybegynder
17. oktober 2007 - 11:46 #2
Du kan jo selv bestemme, hvorledes du vil formattere dine værdier;

fx.

  SELECT to_char(5.5,'0.00')
    FROM dual;

- Men er det dét du mener ?
Avatar billede michael_stim Ekspert
17. oktober 2007 - 11:50 #3
Som det er beskrevet i spørgsmålet vil han have 50 (halvtreds) decimaler. Hvorfor ved jeg ikke???
Avatar billede zamiel Nybegynder
17. oktober 2007 - 12:30 #4
hehe nej jeg vil bare gerne have to decimaler efter kommaet :)

og det pgroen skriver virker fint med lidt justering så han skal have pointene :)
Avatar billede michael_stim Ekspert
17. oktober 2007 - 12:32 #5
2 decimaler hedder NUMBER(5,2)
Ingen grund til at konvertere til character når det er tal ;o)
Avatar billede pgroen Nybegynder
17. oktober 2007 - 12:46 #6
Øh, der er vist lidt begrebsforvirring her;

Som jeg forstår det, vil zamiel have præsenteret tallet '5.5' med to decimaler.

- det har ikke noget at gøre med den interne præcision...

zamiel, hvis du vil have et overblik over mulighederne for formattering, så prøv evt. at kigge på:

http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/sql_elements004.htm#i34570
Avatar billede zamiel Nybegynder
17. oktober 2007 - 12:52 #7
ja, når man sætter scale til 2 så gemmer den med to decimaler men hvis man gemmer eks. 5,50 så fjerne oracle det sidste nul således at dette præsenteres som 5,5 hvilket i mit tilfælde ikke var særlig hensigtsmæsigt.

@pgroen

takker :)
Avatar billede michael_stim Ekspert
17. oktober 2007 - 13:09 #8
Det er fordi man ikke kan have 50 decimaler ;o)
Avatar billede michael_stim Ekspert
17. oktober 2007 - 13:10 #9
Mig der misforstår. Troede zamiel havde prøvet NUMBER(5,50) Sorry ;o)
Avatar billede arne_v Ekspert
18. oktober 2007 - 01:51 #10
Jeg er meget skeptisk overfor om det er SQL udtrækket der skal styre antal
decimaler.

Normalt vil man lade SQL udtrække som den nu vil og så lade applikationen styre
formateringen.
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