Esper中OUTPUT WHEN和WHERE之间的区别

时间:2013-09-11 10:56:53

标签: java esper

我有一个非常基本的Esper问题,Esper中OUTPUT WHEN和WHERE关键字的基本区别是什么。这是我使用这些关键词的例子。

select
  high
from 
  Bar
where
  getDirection() != Direction.FLAT;

select
  high
from 
  Bar
output when
  getDirection() != Direction.FLAT;

2 个答案:

答案 0 :(得分:2)

“输出时”批量输出直到条件变为真。

始终优先选择where子句的过滤器:从Bar(direction!= Direction.FLAT)

中选择高

答案 1 :(得分:1)

select high from Bar where getDirection() != Direction.FLAT; - >此语句将返回getDirection()!= Direction.FLAT中的所有值。这类似于您将该表的值与外部值进行比较。

select high from Bar when getDirection() != Direction.FLAT; - >当Bar时,如果您在某些条件为真时获取值,则此语句将返回getDirection() != Direction.FLAT中的所有值。