Reporting services Reporting services表达式“错误与”;中期“;

Reporting services Reporting services表达式“错误与”;中期“;,reporting-services,ssrs-2008,Reporting Services,Ssrs 2008,我对reporting services 2012中的表达式有问题。表达方式是: iif(IsNothing(Fields!CHEGADA_LUME.Value)," ",mid(Fields!CHEGADA_LUME.Value,12,instr(Fields!CHEGADA_LUME.Value,":00")-12)) 当值为null(第一个条件为true)时,表达式返回“#Error”。但是,如果值不为null,则表达式工作正常。Iif对两个表达式求值,而不管返回哪个表达式 Mid不能接

我对reporting services 2012中的表达式有问题。表达方式是:

iif(IsNothing(Fields!CHEGADA_LUME.Value)," ",mid(Fields!CHEGADA_LUME.Value,12,instr(Fields!CHEGADA_LUME.Value,":00")-12))

当值为null(第一个条件为true)时,表达式返回“#Error”。但是,如果值不为null,则表达式工作正常。

Iif对两个表达式求值,而不管返回哪个表达式

Mid不能接受null作为值(它需要整数),因此当字符串为null时,必须返回0作为Mid的第三个参数,并进行额外检查

=iif(
IsNothing(Fields!CHEGADA_LUME.Value),
" ",
mid(Fields!CHEGADA_LUME.Value,12,iif(
IsNothing(Fields!CHEGADA_LUME.Value),0,instr(Fields!CHEGADA_LUME.Value,":00")-12)
))