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:
DECIMAL(3, 6)You can store values between -0.000999 and 0.000999, inclusive.
-
BigDecimaldata 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 (Limited Support)
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
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
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:
-
LocalDateTimewhen used without time zone. -
Instantwhen used with time zone.
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.