Skip to content

Supported Data Types

This page provides details on the data types used within KDB.AI tables, including name, range/example, brief description, and usage.

In KDB.AI, tables are fundamental structures for storing and organizing data. A schema is a list of column definitions that defines the structure of a table. Each column holds data of a specific type, such as integers, symbols, or dates.

Here’s a list of supported data types (scalar and list) in KDB.AI tables:

Datatype q Type (scalar/list) JSON Type (scalar/list) Python (scalar/list) Example/Range Description Usage
boolean b / B boolean / booleans bool / bools true, false Represents true or false values Used for binary conditions and flags
byte x / X byte / bytes uint8 / uint8s 0 to 255 8-bit unsigned integer Used for raw binary data
char c / C char / chars char / bytes 'a', 'b', 'c' Single character Used for single character data
date d / D date / dates datetime64[D] / datetime64[D]s 2024.10.30 Calendar date Used for date-specific data
float f / F float / floats float64 / float64s 3.14, 2.718 Double-precision floating-point number Used for high-precision numerical data
guid g / G guid / guids guid / guids 123e4567-e89b-12d3-a456-426614174000 Globally unique identifier Used for unique identification
int i / I int / ints int32 / int32s -2147483648 to 2147483647 32-bit signed integer Used for general integer data
long j / J long / longs int64 / int64s -9223372036854775808 to 9223372036854775807 64-bit signed integer Used for large integer data
minute u / U minute / minutes timedelta64[m] / timedelta64[m]s 12:34 Time duration in minutes Used for time intervals
month m / M month / months datetime64[M] / datetime64[M]s 2024.10 Year and month Used for monthly data
real e / E real / reals float32 / float32s 3.14, 2.718 Single-precision floating-point number Used for numerical data with less precision
second v / V second / seconds timedelta64[s] / timedelta64[s]s 12:34:56 Time duration in seconds Used for time intervals
short h / H short / shorts int16 / int16s -32768 to 32767 16-bit signed integer Used for smaller integer data
symbol s / S symbol / symbols str AAPL, GOOG Interned string Used for categorical data
time t / T time / times timedelta64[ms] / timedelta64[ms]s 12:34:56.789 Time of day with millisecond precision Used for time-specific data
timestamp p / P timestamp / timestamps datetime64[ns] / datetime64[ns]s 2024.10.30T12:34:56.789 Date and time with nanosecond precision Used for precise date-time data
timespan n / N timespan / timespans timedelta64[ns] 1234567890ns Time duration with nanosecond precision Used for high-precision time intervals

Database types and JSON formats

For data ingestion, use the corresponding JSON formats for database types as below:

Database type ID Database type name JSON data format Description Example
-1h boolean Boolean A Boolean literal of true or false true
-2h guid String A 36 character UUIDv4 formatted String "77579e36-71e7-d395-5551-5a4221e86e2b"
-4h byte String A 2 character hex string ff
-5h short Number A 16 bit number 32767
-6h int Number A 32 bit number 2147483647
-7h long Number A 64 bit number 4611686018427387904
-8h real Number A 32 bit floating point number 3.14159265
-9h float Number A 64 bit floating point number 3.14159265
-10h char String A string of a single character "a"
-11h symbol String A string representing a symbol "BTC"
-12h timestamp String A ISO date-time without an offset in format 'yyyy-MM-dd'T'HH:mm:ss' with optional 0-9 decimals for nanoseconds "2023-01-01T00:00:00.000000000"
-13h month String A string representing a month in format MM-dd "2023-10"
-14h date String A string representing an ISO Date without an offset in format yyyy-MM-dd "2023-10-01"
-15h datetime String A ISO date-time without an offset in format 'yyyy-MM-dd'T'HH:mm:ss' with optional 0-3 decimals for milliseconds "2023-01-01T00:00:00.000"
-16h timespan String A duration of time with units in nanoseconds 'd'D'HH:mm:ss' with optional 0-9 decimals for nanoseconds "0D00:00:00.000000005"
-17h minute String A duration of time in HH:mm "22:59"
-18h second String A duration of time in HH:mm:ss "22:59:13"
-19h time String A duration fo time in HH:mm:ss with optional 0-9 decimals for nanosecond precision "22:59:13.000000000"
1h booleans Array<Boolean> Array of boolean values [true, false]
2h guids Array<String> Array of guid values ["09c4f826-b3f2-e699-c7ff-5195d89a0925", "c0b9ec94-87b6-b0e9-3427-312d62aaec9c"]
4h bytes Array<String> Array of byte values ["ff", "0e"]
5h shorts Array<Number> Array of short values [32767, -32767]
6h ints Array<Number> Array of int values [2147483647, -2147483647]
7h longs Array<Number> Array of long values [4611686018427387904, -4611686018427387904]
8h reals Array<Number> Array of real values [1.1, 1.2]
9h floats Array<Number> Array of float values [1.1, 1.2]
10h string String A string of text "abcdef"
11h symbols Array<String> Array of symbol values ["BTC","MSFT"]
12h timestamps Array<String> Array of timestamp values ["2023-01-01T00:00:00.000000000", "2023-01-02T00:00:00.000000000"]
13h months Array<String> Array of month values ["2023-10", "2023-11"]
14h dates Array<String> Array of date values ["2023-10-01", "2023-10-02"]
15h datetimes Array<String> Array of datetime values ["2023-01-01T00:00:00.000", "2023-01-02T00:00:00.000"]
16h timespans Array<String> Array of timespan values ["0D00:00:00.000000005", "0D00:00:00.000000006"]
17h minutes Array<String> Array of minute values ["22:59", "23:00"]
18h seconds Array<String> Array of second values ["22:59:13", "22:59:14"]
19h times Array<String> Array of time values ["22:59:13.000000000", "2023-01-01T00:00:00.001"]