2010-08-03 20 views
6

Nous avons une table avec un champ 'prix' de type NUMBER(20,7) .. Dans TOAD je fais ceci:Crapaud tronquant/arrondissant les grands nombres Oracle?

update mytable set price = 1234567890123.1234567; 

Je fais sélection:

select price, to_char(price) from mytable 

PRICE    TO_CHAR(PRICE) 
1234567890123.12 "1234567890123.1234567" 

La question est, pourquoi ne tronque TOAD le résultat lors de l'affichage du champ NUMBER (20,7)? Les données sont évidemment là car il imprime avec to_char.

??

+1

Vous ne savez pas à propos de TOAD, mais peut-être il existe un équivalent au paramètre SQL "Plus" "format"? (http://www.adp-gmbh.ch/ora/sqlplus/numformat.html) – monojohnny

+1

Ma version de TOAD, 9.1.0.62, n'a aucune option sauf que de très longs nombres peuvent être affichés avec une notation scientifique. Pas si génial - vous devrez utiliser l'option TO_CHAR lors de l'interrogation de la table. –

Répondre

8

Le crapaud limite les nombres dans la grille de données à 15 chiffres. Je crois que c'est parce qu'excel limite les nombres à 15 chiffres aussi (ou utilisés pour les limiter). Vous pouvez activer la "notation scientifique" dans les options -> grilles de données -> données, case à cocher Afficher les grands nombres en notation scientifique. Cela n'aidera probablement pas non plus.

+0

Cela ressemble en quelque sorte à un double sens de 53 bits par rapport à une valeur intégrale de 64 bits. Perdre 3 des chiffres les moins significatifs = perdre ~ 1000 ~ = 2^10, ce qui signifie que nous avons perdu 10 bits sur 64 et que nous entrons dans le royaume de 53 bits. Juste une hypothèse aléatoire, et je ne vois aucune raison pour eux de bourrer une valeur intégrale dans un double et vice versa. –

2

J'ai eu un problème similaire, Toad tronquait/arrondissait mes nombres lorsqu'il était affiché en mode grille.

J'ai découvert qu'en utilisant le bouton Exécuter Déclaration ou en appuyant sur F9 pour exécuter la requête alors la troncature/arrondi ne serait pas réalisée.

enter image description here

J'espère que cela aide.

+0

Cela fait aussi une différence pour em, cependant, si je cours un script/PL/SQL, alors ce n'est pas une option. – Gaffi

3

->clic droit sur la grille de données

-> Sélectionnez "Grid Options..."

-> Sous "Data Grids" choisi "Data"

- > Décochez "Display large numbers in Scientific Notation"Après avoir fait cela, vous devez fermer et ouvrir à nouveau TOAD. Cela a fonctionné pour moi dans TOAD Version 8.6.0.38