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"} | 
BIT | 
A string of binary digits (bits). | B'10010101' | 
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. | 192.168.0.1 | 
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' | 
TIMESTAMPTIMESTAMPTZ | 
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', 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 conversion and casting on its respective page in its section Supported casting & conversion.