这种情况下的错误是什么......何时声明?

时间:2013-01-17 14:50:23

标签: cognos cognos-8 cognos-bi

有人可以说下面的陈述有什么不对。

目前我正在使用cognos 10.1.1

case     
  when extract(month,_last_of_month (current_date))=1 then ('January')
  when extract(month,_last_of_month (current_date))=2 then ('January','February')  
end

我无法纠正它。

错误代码为 qe-def-0459 cclexception解析错误

2 个答案:

答案 0 :(得分:1)

它应该只返回一个值,

case
   when extract(month,_last_of_month(current_date)) = 1 then 'January'
   when extract(month,_last_of_month(current_date)) = 2 then 'January, February'
end

答案 1 :(得分:1)

我也相信Cognos中的所有案例陈述,你也必须有其他条件。我没有在我面前的认知,也无法记住你正在使用的功能的语法,但它看起来不错。

另外我记得在某些版本的cognos中你必须将eval表达式转换为与返回类型相同的意思,因为你要返回文本而不是expr = 1你必须使用Cast(expre,varchar)= Cast(1 ,varchar)---不确定这是否是10的情况,但它肯定会在最近的8.3和8.4中引起问题