Skip to main content

Categories: Datatype, Variant Type

TYPEOF Preview

Reports the type (in string format) of the input expression.

Syntax

TYPEOF(input any) → VARCHAR

  • input: An expression for which the type is returned.

Examples

TYPEOF example
SELECT TYPEOF(TRUE)
-- BIT
TYPEOF example
SELECT TYPEOF(100)
-- INT
TYPEOF example
SELECT TYPEOF(TO_VARIANT(TRUE))
-- VARIANT<BOOLEAN>
TYPEOF example
SELECT TYPEOF(VARIANT_GET(payload, '$.fruit')) FROM events
-- -- Returns VARIANT<ARRAY> when path contains an array
TYPEOF example
SELECT TYPEOF(VARIANT_GET(payload, '$.settings')) FROM events
-- -- Returns VARIANT<STRUCT> when path contains an object

Usage Notes

Return values

TYPEOF returns the type name as a string:

Expression typeReturns
BOOLEANBIT
INTEGERINT
BIGINTBIGINT
FLOATFLOAT
DOUBLEDOUBLE
DECIMALDECIMAL
VARCHARVARCHAR
VARBINARYVARBINARY
UUIDUUID
DATEDATE
TIMETIME
TIMESTAMPTIMESTAMP
MAPMAP
ARRAYARRAY<type> (e.g., ARRAY<INTEGER>)
STRUCT/ROWNot supported
VARIANT scalarVARIANT<type> (e.g., VARIANT<VARCHAR>, VARIANT<INT>)
VARIANT nullVARIANT<NULL>
VARIANT booleanVARIANT<BOOLEAN>
VARIANT binaryVARIANT<VARBINARY>
VARIANT objectVARIANT<STRUCT>
VARIANT arrayVARIANT<ARRAY>

When VARIANT_GET is called without AS, it returns a VARIANT. Use TYPEOF on the result to inspect the type at a given path before extracting.

A ? suffix in the output (e.g., VARCHAR?) indicates the value is nullable.