亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 5132 | 回復(fù): 2
打印 上一主題 下一主題

sybaseiq15.4 求被除數(shù)莫名出錯 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2014-10-11 09:15 |只看該作者 |倒序瀏覽
本帖最后由 yso 于 2014-10-11 09:15 編輯

     求教各位高人在我的sybaseiq15.4環(huán)境下對下面的表數(shù)據(jù):

CREATE TABLE ST_FLOW  (
        A                    int NULL,
        B              int NULL,
        R999021               numeric(71,23) NULL,
        R999003               numeric(44,0) NULL,
        R999022               numeric(44,0) NULL,
        R999021_L             numeric(71,23) NULL,
        CUR_STIME_COUNT        bigint NULL
        );
INSERT INTO ST_FLOW(A, B, R999021, R999003, R999022, R999021_L, CUR_STIME_COUNT)
  VALUES(0, 0, 0, 1410, 0, 0, 1);
INSERT INTO ST_FLOW(A, B, R999021, R999003, R999022, R999021_L, CUR_STIME_COUNT)
  VALUES(1, 1, 0, 0, 0, 0, 1);
INSERT INTO ST_FLOW(A, B, R999021, R999003, R999022, R999021_L, CUR_STIME_COUNT)
  VALUES(2, 2, 0, 16, 0, 0, 1);
INSERT INTO ST_FLOW(A, B, R999021, R999003, R999022, R999021_L, CUR_STIME_COUNT)
  VALUES(3, 3, 0, 16, 0, 0, 1);
INSERT INTO ST_FLOW(A, B, R999021, R999003, R999022, R999021_L, CUR_STIME_COUNT)
  VALUES(4, 4, 0, 0, 0, 0, 1);


執(zhí)行下面的sql:

SELECT
        TAA.A,
        TAA.B,
        TAA.R999021,
        TAA.R999003,
        TAA.R999022,
        TAA.R999021_L,
        CASE  WHEN TAA.R999021_L = 0 THEN 100
                  ELSE round(((TAA.R999021 - TAA.R999021_L) * 1.0 /TAA.R999021_L) * 100,3) END as R999021_LR
FROM
        ST_FLOW TAA
WHERE
        CUR_STIME_COUNT = 1
ORDER BY
        R999003 DESC


R999021_LR 這個列返回的都是莫名的(err),這個是什么原因造成的?

論壇徽章:
6
水瓶座
日期:2014-06-04 03:34:37水瓶座
日期:2014-06-17 13:20:31數(shù)據(jù)庫技術(shù)版塊每日發(fā)帖之星
日期:2016-07-09 06:20:00數(shù)據(jù)庫技術(shù)版塊每日發(fā)帖之星
日期:2016-07-17 06:20:00數(shù)據(jù)庫技術(shù)版塊每日發(fā)帖之星
日期:2016-08-01 06:20:00數(shù)據(jù)庫技術(shù)版塊每日發(fā)帖之星
日期:2016-08-04 06:20:00
2 [報告]
發(fā)表于 2014-10-12 18:18 |只看該作者
除以0了。
對于numeric(71,23) 來說, 你的case條件應(yīng)該使用: CASE  WHEN TAA.R999021_L = 0.0 THEN 100

論壇徽章:
0
3 [報告]
發(fā)表于 2014-10-13 15:41 |只看該作者
問題清楚了,這個覺得會是sybaseiq15.4的一個bug;我上面的表格實際是一個臨時表,是由一堆查詢sql得到的數(shù)據(jù),然后再由上面的sql做一次匯總計算,這個臨時表的列的類型和長度是工具自動導(dǎo)出生成的;發(fā)現(xiàn)對于 numeric(71,23)這種超大長度的類型【實際臨時sql計算的列沒有這么大】,sybaseiq做計算會有問題,只能cast為double就ok了;
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP