2010-08-03 82 views
6

我們有NUMBER(20,7)型的「價格」字段的表。在蟾蜍我這樣做:蟾蜍截斷/四捨五入Oracle數字?

update mytable set price = 1234567890123.1234567; 

然後我做這個選擇:

select price, to_char(price) from mytable 

PRICE    TO_CHAR(PRICE) 
1234567890123.12 "1234567890123.1234567" 

的問題是,爲什麼蟾蜍截斷顯示NUMBER(20,7)字段時的結果?數據很明顯,因爲它用to_char打印出來。

??

+1

不確定TOAD,但也許有一個相當於SQL * Plus「numformat」設置? (http://www.adp-gmbh.ch/ora/sqlplus/numformat.html) – monojohnny 2010-08-03 20:23:43

+1

我的TOAD版本9.1.0.62沒有任何選項,只能用科學記數法顯示很長的數字。沒那麼好 - 查詢表格時必須使用TO_CHAR選項。 – 2010-08-04 04:51:41

回答

8

Toad將數據網格中的數字限制爲15位數。我相信這是因爲excel將數字限制爲15位數字(或用於限制它們)。您可以在選項 - >數據網格 - >數據中打開「科學記數法」,複選框以科學計數法顯示大量數字。這也不會有幫助。

+0

它聽起來像53位雙重有效值與64位整數值。丟失3位最不重要的數字=丟失〜1000〜= 2^10,這意味着我們失去了64位中的10位,並且正在進入53位的領域。只是一個隨機假設,我不認爲他們有任何理由將整數值填充到Double中,然後再返回。 – 2014-02-05 00:33:27

2

我有一個類似的問題,蟾蜍在網格視圖中顯示時截斷/舍入我的數字。

我發現,通過使用執行語句按鈕或按下F9到然後運行該查詢將不執行截斷/舍入。

enter image description here

我希望幫助。

+0

但是,如果我正在運行腳本/ PL/SQL,這對於em也會有所幫助,但這不是一個選項。 – Gaffi 2014-03-12 13:47:51

3

- >右鍵單擊數據網格

- >選擇 「Grid Options...

- >在 「Data Grids」 選擇 「Data

- >取消選中「Display large numbers in Scientific Notation

做完這些之後,您需要再次關閉並打開TOAD。這對我工作TOAD Version 8.6.0.38