тип VARIANT
Область применения: Databricks Runtime 15.3 и более поздних версий
Важный
Эта функция доступна в общедоступной предварительной версии.
Представляет полуструктурированные данные.
Синтаксис
VARIANT
Ограничения
Тип поддерживает хранение любых полуструктурированных данных, включая скалярные STRUCT
ARRAY
типы, а также MAP
скалярные типы.
VARIANT
может хранить MAP
только типы с ключами типа STRING
.
Литералы
Дополнительные сведения о создании значения см. в parse_json функции.VARIANT
Вы также можете использовать функцию CAST
для преобразования литерала определенного типа VARIANT
в .
Примечания.
- Извлечение значения из
VARIANT
можно использовать- variant_get функцию с помощью выражения пути JSON для перехода к сложному типу.
-
: (знак двоеточия) для синтаксического анализа
VARIANT
выражения пути JSON. - try_variant_get функцию с помощью пути JSON для перехода к сложному типу с терпимостью к ошибкам.
-
Оператор функции cast или :: (знак двоеточия) для приведения
VARIANT
к определенному типу. -
try_cast функцию для приведения
VARIANT
к определенному типу с допустимой ошибкой.
- Чтобы проверить тип
VARIANT
значения, используйте- функция schema_of_variant для отдельного значения.
- schema_of_variant_agg агрегатную функцию для коллекции значений.
Примеры
> SELECT parse_json('{"key": 123, "data": [4, 5, "str"]}');
{"data":[4,5,"str"],"key":123}
> SELECT parse_json(null);
null
> SELECT parse_json('123');
123
> SELECT CAST(123.456 AS VARIANT);
123.456