- Categories:
TO_VARIANT¶
Converts any value to a VARIANT value or NULL (if input is NULL).
Syntax¶
TO_VARIANT( <expr> )
Arguments¶
- expr
- An expression of any data type. 
Usage notes¶
- The - TO_VARIANTfunction cannot be used directly in an INSERT statement. Instead, use- INSERT INTO ... SELECT.... The Examples section shows how to do this.
Examples¶
Use TO_VARIANT and PARSE_JSON to insert VARIANT values into a table. The PARSE_JSON function returns a VARIANT value.
CREATE OR REPLACE TABLE to_variant_example (
  v_varchar   VARIANT,
  v_number    VARIANT,
  v_timestamp VARIANT,
  v_array     VARIANT,
  v_object    VARIANT);
INSERT INTO to_variant_example (v_varchar, v_number, v_timestamp, v_array, v_object)
  SELECT
    TO_VARIANT('Skiing is fun!'),
    TO_VARIANT(3.14),
    TO_VARIANT('2024-01-25 01:02:03'),
    TO_VARIANT(ARRAY_CONSTRUCT('San Mateo', 'Seattle', 'Berlin')),
    PARSE_JSON(' { "key1": "value1", "key2": "value2" } ');
SELECT * FROM to_variant_example;
+------------------+----------+-----------------------+----------------+---------------------+
| V_VARCHAR        | V_NUMBER | V_TIMESTAMP           | V_ARRAY        | V_OBJECT            |
|------------------+----------+-----------------------+----------------+---------------------|
| "Skiing is fun!" | 3.14     | "2024-01-25 01:02:03" | [              | {                   |
|                  |          |                       |   "San Mateo", |   "key1": "value1", |
|                  |          |                       |   "Seattle",   |   "key2": "value2"  |
|                  |          |                       |   "Berlin"     | }                   |
|                  |          |                       | ]              |                     |
+------------------+----------+-----------------------+----------------+---------------------+