Type conversion functions
Explicit conversion applies a declared value contract to an expression. Use it when importing text, changing numeric families or extracting a representation for another operation.
CAST
text
CAST(value AS Type)CAST supports every declared native type. It validates ranges, text, precision and collection shape. SQL NULL propagates. Native conversions report invalid or overflowing inputs instead of silently wrapping them.
Named conversion functions
| Function | Arguments |
|---|---|
to_int128, to_uint128, to_int256, to_uint256 |
One numeric value or accepted numeric text. |
to_float32, to_float64, to_bfloat16 |
One value to convert to the chosen approximate type. |
to_decimal256 |
A value and a scale through 76, within the declared precision. |
to_interval_<unit> |
One integral quantity; for example, to_interval_day(2). |
to_type_name |
One value whose native type descriptor is required. |
typeof |
One value whose SQL runtime value class is required. |
The exact input units and defaults depend on the target type. In particular, DateTime64 integer input means ticks, while Time64 integer input means seconds.
Examples
Checked integer conversion
sql
SELECT CAST('255' AS UInt8), to_uint256('12345678901234567890')
FORMAT csv;text
255,12345678901234567890CAST('256' AS UInt8) raises NUMERIC_OVERFLOW.
Inspecting a decimal type
sql
SELECT to_type_name(CAST('1.20' AS Decimal(18, 2)))
FORMAT csv;text
"Decimal(18,2)"See data types for target-specific conversion rules and Interval for supported units.