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
.