2010-08-03 12 views
6

Tenemos una tabla con un campo 'precio' de tipo NUMBER(20,7) .. En SAPO hago esto:¿Truncado de sapo/redondear números grandes de Oracle?

update mytable set price = 1234567890123.1234567; 

Entonces hago este selecto:

select price, to_char(price) from mytable 

PRICE    TO_CHAR(PRICE) 
1234567890123.12 "1234567890123.1234567" 

La pregunta es, ¿por qué truncado SAPO el resultado cuando se muestra el campo NÚMERO (20,7)? La información está obviamente allí mientras se imprime con to_char.

??

+1

No estoy seguro sobre TOAD, pero tal vez haya un equivalente al ajuste "numformat" de SQL * Plus? (http://www.adp-gmbh.ch/ora/sqlplus/numformat.html) – monojohnny

+1

Mi versión de TOAD, 9.1.0.62, no tiene ninguna opción, excepto que los números muy largos se pueden mostrar con notación científica. No es genial, tendrás que usar la opción TO_CHAR cuando consultes la tabla. –

Respuesta

8

Toad limita los números en la cuadrícula de datos a 15 dígitos. Creo que esto se debe a que Excel también limita los números a 15 dígitos (o los usa para limitarlos). Puede activar "notación científica" en opciones -> grillas de datos -> datos, casilla de verificación Mostrar números grandes en notación científica. Eso tampoco ayudará, tampoco.

+0

Suena como un significado doble de 53 bits frente a un valor integral de 64 bits. Perder 3 de los dígitos menos significativos = perder ~ 1000 ~ = 2^10, lo que significa que hemos perdido 10 bits de 64 y estamos entrando en el reino de 53 bits. Solo una hipótesis aleatoria, y no veo ninguna razón para que estén rellenando un valor integral en un Doble y viceversa. –

2

Tuve un problema similar, Toad estaba truncando/redondeando mis números cuando se mostraba en la vista de cuadrícula.

descubrí que al utilizar el botón Ejecutar Declaración o presionando F9 para ejecutar la consulta a continuación, el truncamiento/redondeo no se llevaría a cabo.

enter image description here

Yo espero que ayude.

+0

Esto hace la diferencia para ellos también, sin embargo, si estoy ejecutando un script/PL/SQL, entonces esta no es una opción. – Gaffi

3

->Haga clic derecho en la cuadrícula de datos

-> Seleccione "Grid Options..."

-> En "Data Grids" eligieron "Data"

- > Desmarque "Display large numbers in Scientific Notation"

Después de hacer esto, necesita cerrar y abrir TOAD nuevamente. Esto funcionó para mí en TOAD Version 8.6.0.38

Cuestiones relacionadas