检查作为第一个参数的条件是否被满足, 条件为 TRUE 时返回一个值,条件为 FALSE 时返回另一个值。
语法
IF ( <逻辑条件>, <结果 1>, [<结果 2>] )
参数 | 属性 | 描述 |
逻辑条件 | 可以返回 TRUE 或 FALSE 的任何值或表达式 | |
结果 1 | 逻辑条件为 True 时返回的值 | |
结果 2 | 可选 | 逻辑条件为 False 时返回的值,如果省略则返回空值 |
返回值
标量
一个任意类型的值
备注
如果<结果 1>和<结果 2>的数据类型不同,IF 函数可以返回不同的数据类型(变体);但如果<结果 1>和<结果 2>都是数值类型,此函数会尝试返回单个数据类型。 在后一种情况下,IF 函数会隐式转换数据类型,以容纳这两个值。 例如,公式 IF(<condition>,TRUE(),0)
返回 TRUE 或 0,而公式 IF(<condition>,1.0,0)
则只返回十进制值,即使这里的<结果 2>是整数类型。
使用 IF 可以生成多个代码执行分支,这可能会导致查询时性能下降。由于 IF 可以返回 BLANK 结果,在某些情况下,使用 DIVIDE 来获得相同的结果可以产生更快的查询计划:
IF ( <LogicalTest>, <ResultIfTrue> ) ---- 等价于 ---- DIVIDE ( <ResultIfTrue>, <LogicalTest> )
示例
=IF([Calls]<200,"low",IF([Calls]<300,"medium","high")) =IF([StateProvinceCode]= "CA" && ([MaritalStatus] = "M" || [NumberChildrenAtHome] >1),[City])
扩展阅读:
说点什么