Supported Types
CockroachDB supports the following data types. Click a type for more details.
| Type | Description | Example |
|---|---|---|
INT |
A signed integer, up to 64 bits. | 12345 |
UUID |
New in v1.1: A 128-bit hexadecimal value. | 7f9c24e8-3b12-4fef-91e0-56a2d5a246ec |
SERIAL |
A unique 64-bit signed integer. | 148591304110702593 |
DECIMAL |
An exact, fixed-point number. | 1.2345 |
FLOAT |
A 64-bit, inexact, floating-point number. | 1.2345 |
BOOL |
A Boolean value. | true |
DATE |
A date. | DATE '2016-01-25' |
TIMESTAMPTIMESTAMPTZ |
A date and time pairing in UTC. | TIMESTAMP '2016-01-25 10:10:10'TIMESTAMPTZ '2016-01-25 10:10:10-05:00' |
INTERVAL |
A span of time. | INTERVAL '2h30m30s' |
STRING |
A string of Unicode characters. | 'a1b2c3' |
COLLATE |
The COLLATE feature lets you sort STRING values according to language- and country-specific rules, known as collations. |
'a1b2c3' COLLATE en |
BYTES |
A string of binary characters. | b'\141\061\142\062\143\063' |
ARRAY |
New in v1.1: A 1-dimensional, 1-indexed, homogeneous array of any non-array data type. | {"sky","road","car"} |
Data Type Conversions & 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 betweenSTRINGandBYTESvalues.
You can find each data type's supported converstion and casting on its respective page in its section Supported Casting & Conversion.