Skip to main content

Builtin types

CHAR[ACTER] '(' length ')' character string with length upperbound
VARCHAR '(' length ')' | CHARACTER VARYING '(' length ')' string with length upperbound limit
TEXT | STRING | CLOB | CHARACTER LARGE OBJECT string with unbounded length
DECIMAL '(' P ',' S ')' | NUMERIC '(' P ',' S ')' with precision P and scale S
TINYINT 8 bit signed integer
SMALLINT 16 bit signed integer
INT 32 bit signed integer
BIGINT 64 bit signed integer
REAL 32 bit floating point
FLOAT | DOUBLE [PRECISION] 64 bit floating point
BOOLEAN true or false

All scalar types include a NULL value, which is internally represented as a valid domain value. Arithmetic expressions that overflow may lead to returning the NULL instead.

The integer types align with the storage of 1, 2, 4, and 8 bytes.

The numeric types are represented as fixed length integers, whose decimal point is produced during result rendering.

The types REAL, FLOAT and DOUBLE map to the underlying implementation system. No special attention is given to the value NaN.