什么是错误在这种情况下…when语句



谁能说一下下面的语句有什么问题?

目前我正在使用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 parsing error

它应该只返回一个值,

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

我还认为,在Cognos中的所有Case语句中,还必须有一个else条件。我没有cognos在我面前,不能记住你正在使用的函数的语法,但它看起来不错。

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

相关内容

  • 没有找到相关文章

最新更新