You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

IBM Cognos中CASE/IF语句类型不兼容报错QE-DEF-0459求助

问题与解决方案

问题详情

  • 需求:当字段[Statut dossier]值为'Att 1 sv'时,计算当前日期与[Date start]之间的天数,否则返回0
  • 报错代码:QE-DEF-0459 CCLException Incompatible data types in CASE statements
  • 原CASE语句:
CASE
WHEN ([Statut dossier] = 'Att 1 sv')
THEN (_days_between (current_date;[Date start]))
ELSE (0)
END
  • 尝试的IF语句:
IF ([Statut dossier] = 'Att 1 sv')
THEN
(_days_between (current_date;[Date start])
ELSE
('0')

报错原因

CASE/IF语句要求所有分支返回相同数据类型:

  • _days_between函数返回数值类型(整数天数)
  • ELSE分支的'0'是字符串类型,两者类型不兼容触发报错

修正后的语句

修正CASE语句

CASE
WHEN ([Statut dossier] = 'Att 1 sv')
THEN _days_between(current_date; [Date start])
ELSE 0
END

修正IF语句

IF ([Statut dossier] = 'Att 1 sv')
THEN _days_between(current_date; [Date start])
ELSE 0
END

注意:IF语句需确保语法完整(原语句缺少闭合括号),同时统一返回数值类型的0,不要加引号。

内容的提问来源于stack exchange,提问作者sophie morin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 06:41:18