Data Types
The page contains a list of SQL data types available in GridGain such as string, numeric, and date/time types.
Every SQL type is mapped to a programming language or driver specific type that is supported by GridGain natively.
Boolean Types
BOOLEAN
Possible values: TRUE
and FALSE
.
Type Mapping
ColumnType | SQL | Java | .NET | C++ |
---|---|---|---|---|
BOOLEAN |
BOOLEAN |
Boolean |
bool |
bool |
Numeric Types
TINYINT
Possible values: [-128, 127]
.
Type Mapping
ColumnType | SQL | Java | .NET | C++ |
---|---|---|---|---|
INT8 |
TINYINT |
Byte |
sbyte |
std::int8_t |
SMALLINT
Possible values: [-32768
, 32767
].
Type Mapping
ColumnType | SQL | Java | .NET | C++ |
---|---|---|---|---|
INT16 |
SMALLINT |
Short |
short |
std::int16_t |
INT
Possible values: [-2147483648
, 2147483647
].
Alias: INTEGER
Type Mapping
ColumnType | SQL | Java | .NET | C++ |
---|---|---|---|---|
INT32 |
INT |
Integer |
int |
std::int32_t |
BIGINT
Possible values: [-9223372036854775808
, 9223372036854775807
].
Type Mapping
ColumnType | SQL | Java | .NET | C++ |
---|---|---|---|---|
INT64 |
BIGINT |
Long |
long |
std::int64_t |
DECIMAL
Possible values: Exact number of selectable precision.
Default precision: 32767
Maximum precision: 32767
Default scale: 0
Maximum scale: 16383
Decimal Precision and Scale in GridGain
GridGain has the following specifics when handling decimal values:
-
You can specify scale that is larger than precision. In this case, the column will only hold fractional values, and the number of 0 digits to the right of the decimal point must be the same as scale minus precision. For example if you use the following declaration:
NUMERIC(3, 6)
You can store values between -0.000999 and 0.000999, inclusive.
-
BigDecimal
data type is derived asDECIMAL(28, 6)
. If there are more than 6 digits after the decimal point, they will be dropped. If a value larger than precision is passed, out of range exception will occur.To store larger decimal values, cast them with custom precision, for example
CAST(? as DECIMAL(100, 50))
.
Type Mapping
ColumnType | SQL | Java | .NET | C++ |
---|---|---|---|---|
DECIMAL |
DECIMAL |
BigDecimal |
BigDecimal |
big_decimal |
REAL
Possible values: A single precision (32-bit) IEEE 754 floating-point number.
Special values: NaN
, -Infinity
, +Infinity
Type Mapping
ColumnType | SQL | Java | .NET | C++ |
---|---|---|---|---|
FLOAT |
REAL |
Float |
float |
float |
DOUBLE
Possible values: A double precision (64-bit) IEEE 754 floating-point number.
Alias: DOUBLE PRECISION
Special values: NaN
, -Infinity
, +Infinity
Type Mapping
ColumnType | SQL | Java | .NET | C++ |
---|---|---|---|---|
DOUBLE |
DOUBLE |
Double |
double |
double |
Character String Types
VARCHAR
Possible values: A Unicode string.
Alias: CHARACTER VARYING
Default length: 65536
Maximum length: 65536
Type Mapping
ColumnType | SQL | Java | .NET | C++ |
---|---|---|---|---|
STRING |
VARCHAR |
String |
string |
std::string |
CHAR
Fixed length Unicode string padded with spaces.
Default length: 1
Maximum length: 65536
Type Mapping
ColumnType | SQL | Java | .NET | C++ |
---|---|---|---|---|
STRING |
CHAR |
String |
string |
std::string |
Binary String Types
VARBINARY
Possible values: binary data (“byte array”).
Aliases: BINARY
, BINARY VARYING
Default length: 65536
Maximum length: 65536
Type Mapping
ColumnType | SQL | Java | .NET | C++ |
---|---|---|---|---|
BYTE_ARRAY |
VARBINARY |
byte[] |
byte[] |
std::vector<std::byte> |
Date and Time Types
TIME
Possible values: The time data type. The format is hh:mm[:ss]
.
Default precision: 0
Maximum precision: 3
Mapped to: LocalTime
-
java.sql.Time
-
java.util.Date
Type Mapping
ColumnType | SQL | Java | .NET | C++ |
---|---|---|---|---|
TIME |
TIME |
LocalTime |
LocalTime |
ignite_time |
DATE
Possible values: The date data type.
The format is yyyy-MM-dd
.
Mapped to: LocalDate
-
java.sql.Date
-
java.util.Date
Type Mapping
ColumnType | SQL | Java | .NET | C++ |
---|---|---|---|---|
DATE |
DATE |
LocalDate |
LocalDate |
ignite_date |
TIMESTAMP
Possible values: The timestamp data type. The format is yyyy-MM-dd hh:mm:ss[.mmm]
.
Default precision: 6
Maximum precision: 9
Mapped to:
-
LocalDateTime
when used without time zone. -
Instant
when used with time zone.
-
java.sql.Timestamp
-
java.util.Date
Type Mapping
ColumnType | SQL | Java | .NET | C++ |
---|---|---|---|---|
DATETIME |
TIMESTAMP |
LocalDateTime |
LocalDateTime |
ignite_date_time |
Other Types
UUID
Possible values: Universally unique identifier. This is a 128 bit value.
Example UUID: 7d24b70e-25d5-45ed-a5fa-39d8e1d966b9
Type Mapping
ColumnType | SQL | Java | .NET | C++ |
---|---|---|---|---|
UUID |
UUID |
UUID |
Guid |
uuid |
NULL
A field containing the null value.
Type Mapping
ColumnType | SQL | Java | .NET | C++ |
---|---|---|---|---|
NULL |
NULL |
Void |
Null |
nullptr |
Implicit Type Conversion
In GridGain 9, implicit type conversion is limited to types within the same type family. The table below covers the possible implicit conversions:
Type Family | Available Types |
---|---|
Boolean |
|
Numeric |
|
Character String |
|
Binary String |
|
Date |
|
Time |
|
Datetime |
|
UUID |
|
© 2025 GridGain Systems, Inc. All Rights Reserved. Privacy Policy | Legal Notices. GridGain® is a registered trademark of GridGain Systems, Inc.
Apache, Apache Ignite, the Apache feather and the Apache Ignite logo are either registered trademarks or trademarks of The Apache Software Foundation.