选择案例语句,检查null和/或空字符串



我正在与Crystal Reports 2016一起工作。我有一个带有select case语句的公式,我希望其中一个案例检查null;我的数据有4个条件,其中一个是null。但是,要彻底,我也想检查一个空字符串""。我尝试在最后留下一个Catchall语句,但这并未检测到null。我已经尝试了isNullis isNull,并遇到了错误的数据类型(预期数字)或我需要一个比较操作员。

这是我要做的:

select ({CRV_RoomAttributeValues.ScaledAnalogValue})
  case IsNull: "No Connection"
  case 0: "Offline"
  case 1: "Partially Online"
  case 2: "Online"
  default: "No connection";

这是我现在拥有的代码:

select ({CRV_RoomAttributeValues.ScaledAnalogValue})
  case is IsNull({CRV_RoomAttributeValues.ScaledAnalogValue}): "No Connection"
  case 0: "Offline"
  case 1: "Partially Online"
  case 2: "Online"
  default: "No connection";

我在网上看到几个人建议对null进行测试,因为Crystal Reports的特质。

在案例语句中如何测试null

select语句执行直接比较,因此每个案例语句的值必须始终与您的选择变量/字段相同的数据类型。IsNullboolean,因此,只有当您的{CRV_RoomAttributeValues.ScaledAnalogValue}boolean类型的情况下,您要做的事情才能起作用。我认为最简单的方法(有很多方法,但是我认为它们都很奇怪,所以我不会在这里包括它们)实现您的目标是在此类似的时候明确进行null值检查:

If(Isnull({CRV_RoomAttributeValues.ScaledAnalogValue})) Then
   "No Connection"
Else 
    Select {CRV_RoomAttributeValues.ScaledAnalogValue}
       case 0: "Offline"
       case 1: "Partially Online"
       case 2: "Online"
       default: "No connection";

在水晶语法中

我在以下操作:

select ({CRV_RoomAttributeValues.ScaledAnalogValue})
  case 0: "Offline"
  case 1: "Partially Online"
  case 2: "Online"
  default: "No connection";

相关内容

  • 没有找到相关文章

最新更新