2017-05-25 53 views
0

下面的查詢在命令提示符下執行:微調用Oracle SQL尾隨零

var value number(30); 

exec :value:='0.560000' 

select TRIM(to_number(to_char(:value,'9999999999999990' || rpad('.',8 + 1,'0')))) 
from dual; 

結果:

.566 

預期結果:

0.566 for 0.560000 
0.5246 for 0.5646000 

我需要0.566。這個查詢有什麼問題?另外,我需要削減尾隨零,而不管我傳遞的值如何。

回答

1

如果你想在你的結果就是導致零什麼,試試這個:

select to_char(to_number(:value), 'FM0D9999') val 
from dual 
+0

非常感謝你...... 如果:值爲55.5505000000那麼請修改格式模型: 選擇TO_CHAR (to_number(:value),'FM999999999D999999999')val from dual; – MKS

+0

但在這種情況下,這個錯誤:從雙重選擇to_char(to_number(99.999),'FM0D9999')val –