【问题标题】:SSRS nested IIF/CStr explanationSSRS 嵌套 IIF/CStr 解释
【发布时间】:2019-08-04 11:09:44
【问题描述】:

如果下面的 IIF 语句意味着输出任何以 4 开头的值,有人可以告诉我吗?

=IIF(LEFT(CStr(Fields!CLOCK_NUMBER.Value),1)="4",Fields!JOB_NO.Value, "")

【问题讨论】:

标签: tsql reporting-services c-strings iif-function


【解决方案1】:

简短的回答是肯定的。

从中间开始向外工作,这个表达式正在执行以下操作..

  1. 获取字段 CLOCK_NUMBER 的值
  2. 将此转换为字符串(CSTR 函数)
  3. 取第一个字符(以 1 作为秒参数的 LEFT 函数)
  4. 如果等于“4”,则返回 JOB_NO 中的值
  5. 否则返回空字符串

如果由于某种原因这不起作用,请尝试在返回之前将 job_no 转换为字符串,这样可以确保始终返回字符串(如果 JOB_NO 是数字)。您可以像 CSTR(Fields!JOB_NO.Value) 那样简单地将 job_no 包装在 CSTR 中

【讨论】:

    【解决方案2】:

    转换为...“尝试”将字段 CLOCK_NUMBERS's 原生值转换为字符串并取 LEFT(1) 最重要的数字,如果该值为“4”,则返回 JOB_NO字段的值。否则返回空字符串。

    所以,如果第一个数字是 4,则返回 JOB_NO

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多