Range conditions are search conditions with a comparison predicate or a BETWEEN predicate. The following applies to range conditions:
· The only valid operators are the relational operators < | <= | => | > and the operator BETWEEN.
·
Range
conditions have one of the following formats:
<column_spec>
< < | <=
| => | > > <extended_value_spec>
or
<column_spec> BETWEEN
<extended_value_spec> AND <extended_value_spec>
To determine an optimal search strategy, the Optimizer can only use range conditions that satisfy these prerequisites.
Whether the range is defined using a BETWEEN operator or whether it is defined using a combination of the relational operators <= and => is irrelevant to the search strategy.
Conditions with the following format are converted to an expression without NOT and with the appropriate negated operator, if possible:
...NOT (<column_spec> < < | <= | => | > > <extended_value_spec>)
...NOT (<column_spec> NOT BETWEEN <extended_value_spec> AND <extended_value_spec>)
The Optimizer then continues to process the modified condition.