Skip to main content

Supported types

CockroachDB supports the following data types.
TypeDescriptionExample
A 1-dimensional, 1-indexed, homogeneous array of any non-array data type.{"sky","road","car"}
A string of binary digits (bits).B'10010101'
A Boolean value.true
A string of binary characters.b'\141\061\142\062\143\063'
The COLLATE feature lets you sort values according to language- and country-specific rules, known as collations.'a1b2c3' COLLATE en
A date.DATE '2016-01-25'
An exact, fixed-point number.1.2345
A user-defined data type comprised of a set of static values.ENUM ('club, 'diamond', 'heart', 'spade')
A 64-bit, inexact, floating-point number.1.2345
An IPv4 or IPv6 address.192.168.0.1
A signed integer, up to 64 bits.12345
A span of time.INTERVAL '2h30m30s'
The undefined value.NULL
JSON (JavaScript Object Notation) data.'{"first\_name": "Lola", "last\_name": "Dog", "location": "NYC", "online" : true, "friends" : 547}'
An unsigned 32-bit integer.4294967295
A pseudo-type that combines an with a .148591304110702593
A string of Unicode characters.'a1b2c3'
TIME stores a time of day in UTC. TIMETZ converts TIME values with a specified time zone offset from UTC.TIME '01:23:45.123456' TIMETZ '01:23:45.123456-5:00'
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'
A list of lexemes and operators used in .'list' & 'lexem' & 'oper' & 'use' & 'full' & 'text' & 'search'
A list of lexemes with optional integer positions and weights used in .'full':13 'integ':7 'lexem':4 'list':2 'option':6 'posit':8 'search':15 'text':14 'use':11 'weight':10
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 instead of a cast, as it provides more predictable results.
  • Other when the type is not a SQL type, for example from_ip(), to_ip() to convert IP addresses between STRING and BYTES values.
CockroachDB also supports implicit casting from string literals to arrays of all data types except the following:
  • Box2D
  • GEOGRAPHY
  • GEOMETRY
For an example, see . You can find each data type’s supported conversion and casting on its respective page in its section Supported casting & conversion.

See also