2013-07-25 26 views
0

在我的數據庫我有存儲與許多尾隨小數位的數字,即:需要數返回是一個整數,而不是浮動,錯誤:整數表達式預期

-99.00000940061668045423779799954877039 

PRNCT_CHANGE NUMBER 

`

當我打電話本專欄和獲得的價值存儲到shell變量即:

get_count() { 
    sqlplus -s user/pass <<! 
    set heading off 
    set feedback off 
    set pages 0 
    select PRNCT_CHANGE 
    FROM SEMANTIC.COUNT_STATISTICS 
    ; 
! 
} 

count=$(get_count $1) 

它返回:

line 72: [: -99.000009: integer expression expected 

我想弄清楚如何解決這個問題。 我不知道如何擺脫這些小數位的...

update SEMANTIC.COUNT_STATISTICS 
set prnct_change = 
(
    DECODE(OLD_COUNT, 0, NULL, ((NEW_COUNT-OLD_COUNT)/OLD_COUNT*100)) 
) 

如果有人知道如何,請幫助。

有沒有辦法在UPDATE語句中格式化數字?

回答

2

小數位對其他事情沒有用嗎?我不會因爲你目前不需要而銷燬數據;

select trunc(prnct_change) from count_statistics 

TRUNC()多項默認行爲是刪除所有小數位:當你把它拿出來的數據庫,你應該改變它。