例如:
case when 性别 = '男' then '先生' else ‘女士' end
将IIF转换为CASE WHEN 语句比如:IIF(A>B,C,D)
转换为SQL SERVER中的CASE WHEN :
CASE WHEN A>B THEN C ELSE D END
依据一个逻辑表达式的值来返回两个值中的一个。IIF(lExpression, eExpression1, eExpression2)
参数
lExpression
指定 IIF( ) 计算的逻辑表达式。
eExpression1, eExpression2
如果 lExpression 计算为真(.T.),eExpression1 被返回而 eExpression2 不被计算。如果 lExpression 计算为假(.F.) 或空(.NULL.),eExpression2 被返回而 eExpression1 不被计算。
返回值
字符型、数值型、货币型、日期型或日期时间型
说明
该函数也称作 Immediate IF,计算一个逻辑表达式然后返回两个表达式之一。如果逻辑表达式计算为真(.T.),IIF( ) 返回第一个表达式。如果逻辑表达式计算为假(.F.) 或空(.NULL.),IIF( ) 返回第二个表达式。
提示:
对于简单的条件表达式,该函数可以被用于替代 IF ... ENDIF,并且,对有条件地指定字段内容的报表和标签表达式尤其有用。IIF( ) 函数同样比等价的 IF ... ENDIF 执行得更快。
示例
下面的示例利用 IIF( ) 来检查 employee 中的 notes 字段是否为空,如果为空,显示“No notes”;否则,显示该备注字段的内容。
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE employee &&打开 Employee 表
CLEAR
SCAN
? IIF(EMPTY(notes), 'No notes', notes)&&空备注字段吗?
ENDSCAN
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)