| // Licensed to the Apache Software Foundation (ASF) under one or more |
| // contributor license agreements. See the NOTICE file distributed with |
| // this work for additional information regarding copyright ownership. |
| // The ASF licenses this file to You under the Apache License, Version 2.0 |
| // (the "License"); you may not use this file except in compliance with |
| // the License. You may obtain a copy of the License at |
| // |
| // http://www.apache.org/licenses/LICENSE-2.0 |
| // |
| // Unless required by applicable law or agreed to in writing, software |
| // distributed under the License is distributed on an "AS IS" BASIS, |
| // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| // See the License for the specific language governing permissions and |
| // limitations under the License. |
| = Data Types |
| |
| |
| The page contains a list of SQL data types available in Ignite 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 Ignite natively. |
| |
| == BOOLEAN |
| Possible values: TRUE and FALSE. |
| |
| Mapped to: |
| |
| - Java/JDBC: `java.lang.Boolean` |
| - .NET/C#: `bool` |
| - C/C++: `bool` |
| - ODBC: `SQL_BIT` |
| |
| == BIGINT |
| Possible values: [`-9223372036854775808`, `9223372036854775807`]. |
| |
| Mapped to: |
| |
| - Java/JDBC: `java.lang.Long` |
| - .NET/C#: `long` |
| - C/C++: `int64_t` |
| - ODBC: `SQL_BIGINT` |
| |
| == DECIMAL |
| Possible values: Data type with fixed precision and scale. |
| |
| Mapped to: |
| |
| - Java/JDBC: `java.math.BigDecimal` |
| - .NET/C#: `decimal` |
| - C/C++: `ignite::Decimal` |
| - ODBC: `SQL_DECIMAL` |
| |
| == DOUBLE |
| Possible values: A floating point number. |
| |
| Mapped to: |
| |
| - Java/JDBC: `java.lang.Double` |
| - .NET/C#: `double` |
| - C/C++: `double` |
| - ODBC: `SQL_DOUBLE` |
| |
| == INT |
| Possible values: [`-2147483648`, `2147483647`]. |
| |
| Mapped to: |
| |
| - Java/JDBC: `java.lang.Integer` |
| - .NET/C#: `int` |
| - C/C++: `int32_t` |
| - ODBC: `SQL_INTEGER` |
| |
| == REAL |
| Possible values: A single precision floating point number. |
| |
| Mapped to: |
| |
| - Java/JDBC: `java.lang.Float` |
| - .NET/C#: `float` |
| - C/C++: `float` |
| - ODBC: `SQL_FLOAT` |
| |
| == SMALLINT |
| Possible values: [`-32768`, `32767`]. |
| |
| Mapped to: |
| |
| - Java/JDBC: `java.lang.Short` |
| - .NET/C#: `short` |
| - C/C++: `int16_t` |
| - ODBC: `SQL_SMALLINT` |
| |
| == TINYINT |
| Possible values: [`-128`, `127`]. |
| |
| Mapped to: |
| |
| - Java/JDBC: `java.lang.Byte` |
| - .NET/C#: `sbyte` |
| - C/C++: `int8_t` |
| - ODBC: `SQL_TINYINT` |
| |
| == CHAR |
| Possible values: A unicode String. This type is supported for compatibility with other databases and older applications. |
| |
| Mapped to: |
| |
| - Java/JDBC: `java.lang.String` |
| - .NET/C#: `string` |
| - C/C++: `std::string` |
| - ODBC: `SQL_CHAR` |
| |
| == VARCHAR |
| Possible values: A Unicode String. |
| |
| Mapped to: |
| |
| - Java/JDBC: `java.lang.String` |
| - .NET/C#: `string` |
| - C/C++: `std::string` |
| - ODBC: `SQL_VARCHAR` |
| |
| == DATE |
| Possible values: The date data type. The format is `yyyy-MM-dd`. |
| |
| Mapped to: |
| |
| Java/JDBC: `java.sql.Date` |
| - .NET/C#: N/A |
| - C/C++: `ignite::Date` |
| - ODBC: `SQL_TYPE_DATE` |
| |
| NOTE: Use the <<TIMESTAMP>> type instead of DATE whenever possible. The DATE type is serialized/deserialized very inefficiently resulting in performance degradation. |
| |
| == TIME |
| Possible values: The time data type. The format is `hh:mm:ss`. |
| |
| Mapped to: |
| |
| - Java/JDBC: `java.sql.Time` |
| - .NET/C#: N/A |
| - C/C++: `ignite::Time` |
| - ODBC: `SQL_TYPE_TIME` |
| |
| == TIMESTAMP |
| Possible values: The timestamp data type. The format is `yyyy-MM-dd hh:mm:ss[.nnnnnnnnn]`. |
| |
| Mapped to: |
| |
| - Java/JDBC: `java.sql.Timestamp` |
| - .NET/C#: `System.DateTime` |
| - C/C++: `ignite::Timestamp` |
| - ODBC: `SQL_TYPE_TIMESTAMP` |
| |
| == BINARY |
| Possible values: Represents a byte array. |
| |
| Mapped to: |
| |
| - Java/JDBC: `byte[]` |
| - .NET/C#: `byte[]` |
| - C/C++: `int8_t[]` |
| - ODBC: `SQL_BINARY` |
| |
| == GEOMETRY |
| Possible values: A spatial geometry type, based on the `com.vividsolutions.jts` library. Normally represented in a textual format using the WKT (well-known text) format. |
| |
| Mapped to: |
| |
| - Java/JDBC: Types from the `com.vividsolutions.jts` package. |
| - .NET/C#: N/A |
| - C/C++: N/A |
| - ODBC: N/A |
| |
| == UUID |
| Possible values: Universally unique identifier. This is a 128 bit value. |
| |
| Mapped to: |
| |
| - Java/JDBC: `java.util.UUID` |
| - .NET/C#: `System.Guid` |
| - C/C++: `ignite::Guid` |
| - ODBC: `SQL_GUID` |