【发布时间】:2013-04-16 14:04:43
【问题描述】:
我有如下sql语句:
COUNT(CASE
WHEN CALCULATE_CALLBACK_DURATION(CREATED, LAST_UPD) IS NULL THEN CALCULATE_CALLBACK_DURATION(AA.THIS_DATE_OPENING, LAST_UPD) /60 /60 < 2 THEN 1
ELSE CALCULATE_CALLBACK_DURATION(CREATED, LAST_UPD) /60 /60 < 2 THEN 1
END) AS Calculatedsum
其中CALCULATE_CALLBACK_DURATION(CREATED, LAST_UPD) 是一个返回总和(以秒为单位)的函数
但是我得到了错误
缺少关键字
我做错了什么?甚至可以这样计算吗?
更新
我还尝试了以下方法:
CASE WHEN CALCULATE_CALLBACK_DURATION(AA.THIS_DATE_OPENING, LAST_UPD) /60 /60 < 2
THEN 1 END
ELSIF CALCULATE_CALLBACK_DURATION(CREATED, LAST_UPD) /60 / 60 <2 THEN 1 END IF) AS Calculatedsum
问题是如果计算结果为空,那么它应该以另一种方式计算总和并检查是否小于2然后将其计为+1
【问题讨论】: