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 语句中格式化数字?

4

1 回答 1

2

小数位对其他事情没有用吗?我不会因为你现在不需要它而破坏数据;当您将其从数据库中取出时,您应该对其进行转换:

select trunc(prnct_change) from count_statistics

on 数字的默认行为TRUNC()是删除所有小数位。

于 2013-07-25T12:50:42.897 回答