在我的数据库中,我的数字存储有许多尾随小数,即:。
-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语句中格式化数字?
答案 0 :(得分:2)
小数位对其他东西没用吗?我不会因为你现在不需要它而销毁数据;当你把它从数据库中取出时,你应该对它进行转换:
select trunc(prnct_change) from count_statistics
TRUNC()
对数字的默认行为是删除所有小数位。