Data Types

On this page Carat arrow pointing down
CockroachDB v2.1 is no longer supported. For more details, see the Release Support Policy.

Supported types

CockroachDB supports the following data types. Click a type for more details.

Type Description Example
ARRAY A 1-dimensional, 1-indexed, homogeneous array of any non-array data type. {"sky","road","car"}
BOOL A Boolean value. true
BYTES A string of binary characters. b'\141\061\142\062\143\063'
COLLATE The COLLATE feature lets you sort STRING values according to language- and country-specific rules, known as collations. 'a1b2c3' COLLATE en
DATE A date. DATE '2016-01-25'
DECIMAL An exact, fixed-point number. 1.2345
FLOAT A 64-bit, inexact, floating-point number. 1.2345
INET An IPv4 or IPv6 address.
INT A signed integer, up to 64 bits. 12345
INTERVAL A span of time. INTERVAL '2h30m30s'
JSONB JSON (JavaScript Object Notation) data. '{"first_name": "Lola", "last_name": "Dog", "location": "NYC", "online" : true, "friends" : 547}'
SERIAL A pseudo-type that combines an integer type with a DEFAULT expression. 148591304110702593
STRING A string of Unicode characters. 'a1b2c3'
TIME A time of day in UTC. TIME '01:23:45.123456'
A date and time pairing in UTC. TIMESTAMP '2016-01-25 10:10:10'
TIMESTAMPTZ '2016-01-25 10:10:10-05:00'
UUID A 128-bit hexadecimal value. 7f9c24e8-3b12-4fef-91e0-56a2d5a246ec

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', or BOOL 'true'.

  • <value>::<data type>, or its equivalent longer form CAST(<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.


    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 between STRING and BYTES values.

You can find each data type's supported conversion and casting on its respective page in its section Supported casting & conversion.

Yes No
On this page

Yes No