和SQL里的CASE以及VFP中的IIF函数类似.
Visual FoxPro 9.0 语言参考
ICASE( ) 函数
请参阅 示例
全部折叠 全部展开
从一连串条件中计算结果。
ICASE( lCondition1, eResult1 [, lCondition2, eResult2] ...
[, eOtherwiseResult])
参数
lCondition
指定一个作为逻辑表达式被计算的条件。如果 lCondition 计算为假(.F.),ICASE( ) 继续计算下一个条件并为计算为真(.T.)的条件返回相应的 eResult。如果 lCondition 计算为空(.NULL.),Visual FoxPro 对待 lCondition 作为它计算为假(.F.)。
eResult
指定如果 lCondition 计算为真(.T.)时的返回结果。
eOtherwiseResult
包含如果所有条件都计算为假(.F.)时返回的结果。
返回值
一旦 lCondition 计算为真(.T.),ICASE( ) 就返回当前第一个 eResult。
如果所有条件都计算为假(.F.),ICASE( ) 返回 eOtherwiseResult。
如果省略 eOtherwiseResult,并且所有的条件都计算为假(.F.),则 ICASE( ) 返回空(.NULL.)。
解释
必须总是两个一组地传递参数给 ICASE( )。如果传递了一个奇数数量的参数,则最后一个参数被当作 eOtherwiseResult 返回值。
ICASE( ) 最多可以传递 100 对参数。
如果在筛选表达式中使用一个长的 ICASE( ) 表达式,象在一个 FOR 或 WHERE 子句中,确保 SYS(3055) 设置到一个适当的复杂性层次以避免发生错误。更多的信息,请参见 SYS(3055) - FOR 和 WHERE 子句的复杂性。
示例
下面的例子示范了使用 ICASE( ) 计算表达式并返回基于哪些表达式结果特定值的不同情况。
下面的代码行显示"First is true",因为第一个表达式计算为真(.T.)。
复制代码
? ICASE(1+1=2,"First is true",1+1=3,"Second is false","None are true")
下面的代码行显示"Second is true",因为第一个表达式计算为假(.F.),但第二个表达式计算为真(.T.)。
复制代码
? ICASE(1+2=2,"First is false",1+2=3,"Second is true","None are true")
下面的代码行显示"None are true",那是被指定的最后结果,因为第一个和第二个表达式都计算为假(.F.)。
复制代码
? ICASE(1+2=2,"First is false",1+1=3,"Second is false","None are true")
请参阅
其他资源
IIF( ) 函数
EVALUATE( ) 函数
EVL( ) 函数
函数
Visual FoxPro 9.0 语言参考
ICASE( ) 函数
请参阅 示例
全部折叠 全部展开
从一连串条件中计算结果。
ICASE( lCondition1, eResult1 [, lCondition2, eResult2] ...
[, eOtherwiseResult])
参数
lCondition
指定一个作为逻辑表达式被计算的条件。如果 lCondition 计算为假(.F.),ICASE( ) 继续计算下一个条件并为计算为真(.T.)的条件返回相应的 eResult。如果 lCondition 计算为空(.NULL.),Visual FoxPro 对待 lCondition 作为它计算为假(.F.)。
eResult
指定如果 lCondition 计算为真(.T.)时的返回结果。
eOtherwiseResult
包含如果所有条件都计算为假(.F.)时返回的结果。
返回值
一旦 lCondition 计算为真(.T.),ICASE( ) 就返回当前第一个 eResult。
如果所有条件都计算为假(.F.),ICASE( ) 返回 eOtherwiseResult。
如果省略 eOtherwiseResult,并且所有的条件都计算为假(.F.),则 ICASE( ) 返回空(.NULL.)。
解释
必须总是两个一组地传递参数给 ICASE( )。如果传递了一个奇数数量的参数,则最后一个参数被当作 eOtherwiseResult 返回值。
ICASE( ) 最多可以传递 100 对参数。
如果在筛选表达式中使用一个长的 ICASE( ) 表达式,象在一个 FOR 或 WHERE 子句中,确保 SYS(3055) 设置到一个适当的复杂性层次以避免发生错误。更多的信息,请参见 SYS(3055) - FOR 和 WHERE 子句的复杂性。
示例
下面的例子示范了使用 ICASE( ) 计算表达式并返回基于哪些表达式结果特定值的不同情况。
下面的代码行显示"First is true",因为第一个表达式计算为真(.T.)。
复制代码
? ICASE(1+1=2,"First is true",1+1=3,"Second is false","None are true")
下面的代码行显示"Second is true",因为第一个表达式计算为假(.F.),但第二个表达式计算为真(.T.)。
复制代码
? ICASE(1+2=2,"First is false",1+2=3,"Second is true","None are true")
下面的代码行显示"None are true",那是被指定的最后结果,因为第一个和第二个表达式都计算为假(.F.)。
复制代码
? ICASE(1+2=2,"First is false",1+1=3,"Second is false","None are true")
请参阅
其他资源
IIF( ) 函数
EVALUATE( ) 函数
EVL( ) 函数
函数