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

在Cognos中使用IF Then Else结合Days Between函数的问题

解决IF Then Else语句解析错误的方案
  • 错误核心原因:你写的语句中,then分支返回数值类型(计算出的天数),else分支返回字符串类型('Assigned'),绝大多数查询引擎或计算工具要求同一条件判断语句的所有分支必须返回相同数据类型,类型不匹配就会触发解析错误。

  • 两种可行修复方案:

    1. 统一返回字符串类型,把天数转为文本:
      If ([Case State Description] = 'Unassigned') then STR(days_between(CURRENT_DATE,[Case Create Date])) else ('Assigned')
      
      提示:STR()是通用的转字符串函数,不同工具可能有语法差异,比如SQL中可用CAST(days_between(CURRENT_DATE,[Case Create Date]) AS VARCHAR),按需替换即可。
    2. 统一返回数值类型,给已分配状态设置标识值(比如NULL或0),后续再根据这个值做显示逻辑:
      If ([Case State Description] = 'Unassigned') then days_between(CURRENT_DATE,[Case Create Date]) else NULL
      

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 20:47:36