Skip to main content

Data Types

Fluss has a rich set of native data types available to users. All the data types of Fluss are as follows:

DataTypeDescription
BOOLEANA boolean with a (possibly) three-valued logic of TRUE, FALSE, UNKNOWN.
TINYINTA 1-byte signed integer with values from -128 to 127.
SMALLINTA 2-byte signed integer with values from -32,768 to 32,767.
INTA 4-byte signed integer with values from -2,147,483,648 to 2,147,483,647.
BIGINTAn 8-byte signed integer with values from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807.
FLOATA 4-byte single precision floating point number.
DOUBLEAn 8-byte double precision floating point number.
CHAR(n)A fixed-length character string where n is the number of code points. n must have a value between 1 and Integer.MAX_VALUE (both inclusive).
STRINGA variable-length character string.
DECIMAL(p, s)A decimal number with fixed precision and scale where p is the number of digits in a number (=precision) and s is the number of digits to the right of the decimal point in a number (=scale). p must have a value between 1 and 38 (both inclusive). s must have a value between 0 and p (both inclusive).
DATEA date consisting of year-month-day with values ranging from 0000-01-01 to 9999-12-31.
Compared to the SQL standard, the range starts at year 0000.
TIMEA time WITHOUT time zone with no fractional seconds by default.
An instance consists of hour:minute:second with up to second precision and values ranging from 00:00:00 to 23:59:59.
Compared to the SQL standard, leap seconds (23:59:60 and 23:59:61) are not supported as the semantics are closer to java.time.LocalTime. A time WITH time zone is not provided.
TIME(p)A time WITHOUT time zone where p is the number of digits of fractional seconds (=precision). p must have a value between 0 and 9 (both inclusive).
An instance consists of hour:minute:second[.fractional] with up to nanosecond precision and values ranging from 00:00:00.000000000 to 23:59:59.999999999.
Compared to the SQL standard, leap seconds (23:59:60 and 23:59:61) are not supported as the semantics are closer to java. time. LocalTime. A time WITH time zone is not provided.
TIMESTAMPA timestamp WITHOUT time zone with 6 digits of fractional seconds by default.
An instance consists of year-month-day hour:minute:second[.fractional] with up to microsecond precision and values ranging from 0000-01-01 00:00:00.000000 to 9999-12-31 23:59:59.999999.
Compared to the SQL standard, leap seconds (23:59:60 and 23:59:61) are not supported as the semantics are closer to java. time. LocalDateTime.
TIMESTAMP(p)A timestamp WITHOUT time zone where p is the number of digits of fractional seconds (=precision). p must have a value between 0 and 9 (both inclusive).
An instance consists of year-month-day hour:minute:second[.fractional] with up to nanosecond precision and values ranging from 0000-01-01 00:00:00.000000000 to 9999-12-31 23:59:59.999999999.
Compared to the SQL standard, leap seconds (23:59:60 and 23:59:61) are not supported as the semantics are closer to java. time. LocalDateTime.
TIMESTAMP_LTZA a timestamp WITH time zone TIMESTAMP WITH TIME ZONE with 6 digits of fractional seconds by default.
An instance consists of year-month-day hour:minute:second[.fractional] zone with up to microsecond precision and values ranging from 0000-01-01 00:00:00.000000 +14:59 to 9999-12-31 23:59:59.999999 -14:59.
Compared to the SQL standard, leap seconds (23:59:60 and 23:59:61) are not supported as the semantics are closer to java. time. OffsetDateTime.
TIMESTAMP_LTZ(p)A a timestamp WITH time zone TIMESTAMP WITH TIME ZONE where p is the number of digits of fractional seconds (=precision). p must have a value between 0 and 9 (both inclusive).
An instance consists of year-month-day hour:minute:second[.fractional] with up to nanosecond precision and values ranging from 0000-01-01 00:00:00.000000000 to 9999-12-31 23:59:59.999999999.
Compared to the SQL standard, leap seconds (23:59:60 and 23:59:61) are not supported as the semantics are closer to java. time. LocalDateTime
BYTESA variable-length binary string (=a sequence of bytes).