Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Typ
Platí pro:
Databricks Runtime 15.3 a vyšší
Představuje hodnoty v VARIANT se strukturou popsanou sadou polí.
Informace o ukládání a zpracování strukturovaných typů popsaných v posloupnosti polí najdete v části STRUCT .
Důležité
OBJECT nelze uložit ve sloupci tabulky.
Zobrazí se pouze při volání schema_of_variant nebo schema_of_variant_agg.
Chcete-li použít OBJECT typ, musíte jej přetypovat na strukturu nebo MAPOVÁNÍ.
Syntaxe
OBJECT < [fieldName [:] fieldType [, ...] ] >
-
fieldName: Identifikátor pojmenovávající pole. Názvy musí být jedinečné. -
fieldType: Libovolný datový typ.
Omezení
Typ podporuje libovolný počet polí větších nebo rovnajících se 0.
Literály
Hodnoty OBJECT nelze vytvořit mimo VARIANT.
Jedná se o výsledek analýzy řetězce JSON do VARIANT funkce parse_json().
Poznámky
- Extrahování
OBJECTmůžete provést:-
variant_getfunkce pomocí výrazu cesty JSON k navigaci doOBJECTtypu. -
:operátoru dvojtečky parsovatOBJECTpomocí výrazu cesty JSON. -
try_variant_getfunkce využívající cestu JSON k navigaci do typu s tolerancí chybOBJECT. -
castfunkce nebo::operátor dvojité dvojtečky k přetypováníOBJECTna STRUCT nebo MAP. -
try_castoperátor funkce nebo?::(znaménko dvojtečky otázky) pro přetypováníOBJECTna STRUCT nebo MAP.
-
Příklady
> 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"}