Supported types
CockroachDB supports the following data types. Click a type for more details.
Type | Description | Example | Vectorized Execution |
---|---|---|---|
ARRAY |
A 1-dimensional, 1-indexed, homogeneous array of any non-array data type. | {"sky","road","car"} |
Not supported |
BIT |
A string of binary digits (bits). | B'10010101' |
Not supported |
BOOL |
A Boolean value. | true |
Supported |
BYTES |
A string of binary characters. | b'\141\061\142\062\143\063' |
Supported |
COLLATE |
The COLLATE feature lets you sort STRING values according to language- and country-specific rules, known as collations. |
'a1b2c3' COLLATE en |
Not supported |
DATE |
A date. | DATE '2016-01-25' |
Supported |
DECIMAL |
An exact, fixed-point number. | 1.2345 |
Supported |
FLOAT |
A 64-bit, inexact, floating-point number. | 1.2345 |
Supported |
INET |
An IPv4 or IPv6 address. | 192.168.0.1 |
Not supported |
INT |
A signed integer, up to 64 bits. | 12345 |
Supported |
INTERVAL |
A span of time. | INTERVAL '2h30m30s' |
Supported |
JSONB |
JSON (JavaScript Object Notation) data. | '{"first_name": "Lola", "last_name": "Dog", "location": "NYC", "online" : true, "friends" : 547}' |
Not supported |
SERIAL |
A pseudo-type that combines an integer type with a DEFAULT expression. |
148591304110702593 |
Not supported |
STRING |
A string of Unicode characters. | 'a1b2c3' |
Supported |
TIME TIMETZ |
TIME stores a time of day in UTC.New in v20.1: TIMETZ converts TIME values with a specified time zone offset from UTC. |
TIME '01:23:45.123456' TIMETZ '01:23:45.123456-5:00' |
Not supported |
TIMESTAMP TIMESTAMPTZ |
TIMESTAMP stores a date and time pairing in UTC.TIMESTAMPTZ converts TIMESTAMP values with a specified time zone offset from UTC. |
TIMESTAMP '2016-01-25 10:10:10' TIMESTAMPTZ '2016-01-25 10:10:10-05:00' |
Supported |
UUID |
A 128-bit hexadecimal value. | 7f9c24e8-3b12-4fef-91e0-56a2d5a246ec |
Supported |
Data type conversions and casts
CockroachDB supports explicit type conversions using the following methods:
<type> 'string literal'
, to convert from the literal representation of a value to a value of that type. For example:DATE '2008-12-21'
,INT '123'
, orBOOL 'true'
.<value>::<data type>
, or its equivalent longer formCAST(<value> AS <data type>)
, which converts an arbitrary expression of one built-in type to another (this is also known as type coercion or "casting"). For example:NOW()::DECIMAL
,VARIANCE(a+2)::INT
.Tip:To create constant values, consider using a type annotation instead of a cast, as it provides more predictable results.
Other built-in conversion functions when the type is not a SQL type, for example
from_ip()
,to_ip()
to convert IP addresses betweenSTRING
andBYTES
values.
New in v20.1: CockroachDB also supports implicit casting from string literals to INT
and DECIMAL
ARRAY
s, where appropriate. For an example, see Implicit casting to INT
and DECIMAL
ARRAY
s.
You can find each data type's supported conversion and casting on its respective page in its section Supported casting & conversion.