谁能说一下下面的语句有什么问题?
目前我正在使用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