Predicates are statements about objects that return a boolean result: true
, false
or unknown
(= NULL
).In computer code you typically find predicates in places where a yes/no type of decision has to be taken.For Firebird SQL, that means in WHERE
, HAVING
, CHECK
, CASE WHEN
, IF
and WHILE
clauses.
Comparisons such as “x > y
” also return boolean results, but they are generally not called predicates, although this is mainly a matter of form.An expression like Greater( x, y )
that does exactly the same would immediately qualify as a predicate.(Mathematicians like predicates to have a name — such as “Greater” or just plain “G” — and a pair of parentheses to hold the arguments.)
Firebird supports the following SQL predicates: IN
, ANY
, SOME
, ALL
, EXISTS
and SINGULAR
.
Note
|
It is also perfectly defensible to call “IS [NOT] NULL ” and “IS [NOT] DISTINCT FROM ” predicates, despite the absence of parentheses.But, predicates or not, they have already been introduced and won’t be discussed in this section.
|