Data Types

On this page Carat arrow pointing down

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', 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.

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

New in v20.1: CockroachDB also supports implicit casting from string literals to INT and DECIMAL ARRAYs, where appropriate. For an example, see Implicit casting to INT and DECIMAL ARRAYs.

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