本帖最后由 yso 于 2014-10-11 09:15 编辑
求教各位高人在我的sybaseiq15.4环境下对下面的表数据:
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);
执行下面的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),这个是什么原因造成的? |