Skip to content
immudb docker run -d --net host -it --name immudb codenotary/immudb:latest

Data Types

NameDescriptionLength constraints
INTEGERSigned 64-bit integer value. Usually referred to as BIGINT in other databases.-
BOOLEANA boolean value, either TRUE or FALSE-
VARCHARUTF8-encoded textMaximum number of bytes in the UTF-8 encoded representation of the string
BLOBSequence of bytesMaximum number of bytes in the sequence
TIMESTAMPDatetime value with microsecond precision-
FLOATIEEE-754 64-bit floating-point number-
UUIDUniversally Unique Identifier (UUID), 128-bit value-
JSONRFC 8259 textual JSON dataMaximum number of bytes in the textual representation of the data



Size constraints#

Size constraint is specified with a [MAX_SIZE] suffix on the type, e.g. BLOB[16] represents a sequence of up to 16 bytes.

NULL values#

NULL values in immudb are not unique - two NULL values are considered equal on comparisons.

Timestamp values#

Timestamp values are internally stored as a 64-bit signed integer being a number of microseconds since the epoch time. Those values are not associated with any timezone, whenever a conversion is needed, it is considered to be in UTC.

JSON primitive types and internal SQL types#

Except for lists and objects, each JSON type is backed by a specific immudb internal SQL type. The mapping between JSON primitive types and SQL internal types is reported in the following table:


JSON primitive typeInternal SQL typeDescription
STRINGVARCHARcontrol characters, quotation marks and backslashes must be escaped
NUMBERFLOATNaN, Infinity and -Infinity are not supported
BOOLEANBOOLEANonly lowercase true and false are valid
NULLNULL-
Edit this page on GitHub Last updated