我已经有一段时间没有进行 DB2 查询了,所以我在 Select 语句中遇到了数学表达式的问题。它不会引发错误,但我得到了错误的结果。谁能告诉我 DB2 如何评估表达式?我的部分选择如下。
这些值为:
- t1.Points = 100
- t2.Involvepoints = 1
- (当前日期 - t1.fromdt)以天为单位是 1268(因此它将是当前日期 2013 年 7 月 19 日 - 2010 年 1 月 28 日)
它应该像 (100 * 1) * (1 - (.000274 * 1268)) = 65.2568
SELECT Value1,
value2,
(CASE
WHEN (T1.POINTS * T2.INVOLVEPOINTS) * (1 - .000274 * DAYS(CURRENT DATE) - DAYS(T1.FROMDT)) >= 0 THEN (T1.POINTS * T2.INVOLVEPOINTS) * (1 - .000274 * DAYS(CURRENT DATE) - DAYS(T1.FROMDT))
ELSE 0
END) AS POINTSTOTAL
FROM TABLE1;