Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Typ:
Dotyczy:
Databricks Runtime 15.3 lub nowszy
Wartości w VARIANT są reprezentowane przez strukturę opisaną za pomocą zestawu pól.
Zapoznaj się z STRUKTURA w celu przechowywania i przetwarzania typów strukturalnych opisanych jako sekwencja pól.
Ważne
Nie można przechowywać OBJECT w kolumnie tabeli.
Jest on ujawniany tylko podczas wywoływania schema_of_variant lub schema_of_variant_agg.
Aby użyć OBJECT typu, należy rzutować go na STRUKTURĘ lub MAPĘ.
Składnia
OBJECT < [fieldName [:] fieldType [, ...] ] >
-
fieldName: identyfikator nazewnictwa pola. Nazwy muszą być unikatowe. -
fieldType: dowolny typ danych.
Limity
Typ obsługuje dowolną liczbę pól większej lub równej 0.
Literały
Wartości OBJECT nie można tworzyć poza WARIANTEM.
Są wynikiem przekształcenia ciągu JSON w VARIANT za pomocą funkcji parse_json().
Uwagi
- Aby wyodrębnić element
OBJECT, możesz wykonać następujące czynności:-
variant_getfunkcja używająca wyrażenia ścieżki JSON , aby przejść doOBJECTtypu. -
:(znak dwukropka) operator, aby przeanalizowaćOBJECTprzy użyciu wyrażenia ścieżki JSON. -
try_variant_getfunkcja używająca ścieżki JSON, aby przejść doOBJECTtypu z tolerancją błędu. -
castfunkcja lub::(operator znak dwukropka) do konwertowaniaOBJECTna STRUKTURĘ lub MAP. -
try_castfunkcja lub?::operator warunkowy aby rzutowaćOBJECTna STRUCT lub MAP.
-
Przykłady
> SELECT schema_of_variant(parse_json('{"key": 123, "data": 5.1 }'));
OBJECT<data: DECIMAL(2,1), key: BIGINT>
-- Casting from a an OBJECT to a STRUCT is by name, because OBJECT fields are not ordered.
> SELECT CAST(parse_json('{"key": 123, "data": 5.1 }') AS STRUCT<data: DECIMAL(2,1), key: BIGINT>);
{"data":5.1,"key":123}
> SELECT CAST(parse_json('{"key": 123, "data": 5.1 }') AS STRUCT<key: BIGINT, data: DECIMAL(2,1)>);
{"key":123, "data":5.1}
> SELECT CAST(parse_json('{"key": 123, "data": 5.1 }') AS MAP<STRING, DECIMAL(20, 1)>);
{"data":"5.1","key":"123.0"}