We present next the functions and operators for temporal types. These functions and operators are polymorphic, that is, their arguments may be of several types, and the result type may depend on the type of the arguments. To express this, we use the following notation:
time represents any time type, that is, timestamptz, tstzspan, tstzset, or tstzspanset,
ttype represents any temporal type,
ttypeInst, ttypeSeq, and ttypeSeqSet represent any temporal type with, respectively, instant, sequence, and sequence set subtype,
tdisc represents any temporal type with a discrete base type, that is, tbool, tint, or ttext,
tcont represents any temporal type with a continuous base type, that is, tfloat, tgeompoint, or tgeogpoint,
ttypeDiscSeq and ttypeContSeq represent any temporal type with sequence subtype and, respectively, discrete and continuous interpolation,
base represents any base type of a temporal type, that is, boolean, integer, float, text, geometry, or geography,
values represents any set of values of a base type of a temporal type, for example, integer, intset, intspan, and intspanset for the base type integer
type[] represents an array of type.
<type> in the name of a function represents the functions obtained by replacing <type> by a specific type. For example, tintSeq or tfloatSeq are represented by ttypeSeq.