控制函数


EXCEEDDATA支持这些控制函数:

  • between(exp1, exp2, exp3): 判断exp1的结果是否为exp2和exp3的结果中间,TRUE或者FALSE。
  • case(condition1, value1 [, condition2, value2]…, default_value): 按照每一个case的condition判断TRUE/FALSE,如果TRUE,则返回下一个value值,不然继续直到默认值返回。
  • decode(exp, matched1, value1 [, matched2, value2]…, default_value): 拿exp和每一个matched值比较,如果相等,则返回下一个value值,不然继续直到默认值返回。
  • either(exp [, exp…]): 通用的多维OR,此函数为需要绕开OR优化(如果已经TRUE不再处理后面exp)的场景提供,每个exp将被强制解析。
  • entire(exp [, exp…]): 通用的多维AND,此函数为需要绕开AND优化(如果已经FALSE不再处理后面exp)的场景提供,每个exp将被强制解析。
  • given(condition1, value1 [, condition2, value2]…, default_value): 通用的CASE,此函数为需要绕开CASE优化的场景提供,每个condition和value会被强制解析。
  • if(condition, exp2, exp3): 如果condition的结果是TRUE,返回exp2的结果,不然返回exp3的结果。
  • ifnull(exp1, exp2): 如果exp1的结果是Null,返回exp2的结果,不然返回exp1的结果。
  • nullif(exp1, exp2): 如果exp1的结果等于exp2的结果,返回Null, 不然返回exp1的结果。
  • nvl(exp1, exp2): 如果exp1的结果是Null或者为空,返回exp2的结果,不然返回exp1的结果。