2010-08-03 18 views
6

Abbiamo una tabella con un campo 'prezzo' di tipo NUMBER(20,7) .. In ROSPO faccio questo:Toad che tronca/arrotonda grandi numeri Oracle?

update mytable set price = 1234567890123.1234567; 

Poi faccio questo selezionare:

select price, to_char(price) from mytable 

PRICE    TO_CHAR(PRICE) 
1234567890123.12 "1234567890123.1234567" 

domanda è, perché fa ROSPO troncare il risultato quando si visualizza il campo NUMERO (20,7)? I dati sono ovviamente lì come si stampa con to_char.

??

+1

Non sei sicuro di TOAD, ma forse c'è un equivalente all'impostazione SQL * Plus "numformat"? (http://www.adp-gmbh.ch/ora/sqlplus/numformat.html) – monojohnny

+1

La mia versione di TOAD, 9.1.0.62, non ha alcuna opzione tranne che numeri molto lunghi possono essere mostrati con notazione scientifica. Non eccezionale: dovrai utilizzare l'opzione TO_CHAR quando esegui una query sulla tabella. –

risposta

8

Il rospo limita i numeri nella griglia di dati a 15 cifre. Credo che questo sia perché Excel limita i numeri a 15 cifre (o li usa per limitarli). È possibile attivare la "notazione scientifica" nelle opzioni -> griglie di dati -> dati, casella di controllo Visualizzazione di numeri grandi in notazione scientifica. Neanche questo probabilmente aiuterà.

+0

Suona come un valore Double a 53 bit e un valore integrale a 64 bit. Perdere 3 delle cifre meno significative = perdere ~ 1000 ~ = 2^10, il che significa che abbiamo perso 10 bit su 64 e stiamo entrando nel reame a 53 bit. Solo un'ipotesi casuale, e non vedo alcun motivo per cui stiano riempiendo un valore integrale in un doppio e di nuovo indietro. –

2

Ho avuto un problema simile, il rospo stava troncando/arrotondando i miei numeri quando viene visualizzato in visualizzazione griglia.

ho scoperto che utilizzando il pulsante Esegui Dichiarazione o premendo F9 per eseguire la query poi il troncamento/raccordo non verrebbe eseguita.

enter image description here

Mi auguro che aiuta.

+0

Questo fa la differenza anche per em, tuttavia, se sto eseguendo uno script/PL/SQL, questa non è un'opzione. – Gaffi

3

->Fare clic destro sulla griglia di dati

-> Selezionare "Grid Options..."

-> In "Data Grids" scelto "Data"

- > Deseleziona "Display large numbers in Scientific Notation"

Dopo aver effettuato queste operazioni è necessario chiudere e aprire di nuovo TOAD. Questo ha funzionato per me in TOAD Version 8.6.0.38