Comparable types
The operators <, >, <=, >=, =, or != can be used to compare two values that are both the same type and that type can only be one of the following types:
 decimal
decimal float
float integer
integer string
stringThe following types are considered to be comparable types because you can use each one in a sequence that you plan to sort:
 boolean
boolean decimal
decimal float
float integer
integer string
string context
context dictionary
dictionary if it contains items that are a comparable type
 event
event if it contains only comparable types
 location
location sequence
sequence if it contains items that are a comparable type
The correlator cannot compare the following types of items:
 action
action chunk
chunk dictionary
dictionary if it contains items that are an incomparable type
 event
event if it contains at least one incomparable type
 listener
listener sequence
sequence if it contains items that are an incomparable type
 stream
stream
Potentially cyclic types
For details about how the correlator compares items of a particular type, see the topic about that type.
In EPL code, you must use a comparable type in the following places:

As the key for a 
dictionary. The type of the items in the 
dictionary does not need to be comparable.

In a 
sequence if you want to call the
 indexOf() or 
sort() method on that 
sequence.

As a key in the following stream query clauses:

Equi-join
 group by
group by partition by
partition by with unique
with unique