0

谁能说出下面的陈述有什么问题。

目前我在 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 解析错误

4

2 回答 2

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
于 2013-01-17T14:51:42.607 回答
1

我也相信在 Cognos 中的所有案例语句中,你也必须有一个 else 条件。我面前没有 cognos,也不记得您正在使用的函数的语法,但它看起来不错。

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

于 2013-01-17T15:46:56.847 回答