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.
Platí pro:
Databricks SQL
Databricks Runtime
fieldIdentifier Vrátí hodnotu v hodnotě STRUCT nebo hodnotu v keyIdentifier objektu MAP.
Syntaxe
structExpr . fieldIdentifier
mapExpr . keyIdentifier
Argumenty
-
structExpr: VýrazSTRUCT. -
fieldIdentifier: Identifikátor pole v rámcistructExpr. -
mapExprMAP: Výraz s klíči typuSTRING. -
keyIdentifier: Identifikátor odpovídající hodnotě klíče vmapExpr.
Návraty
Typ shodný s typem fieldIdentifier nebo s typem hodnot mapExpr.
Rozlišení názvů má přednost před překladem tohoto operátoru.
To znamená, že vzhledem k řadě identifikátorů oddělených tečkami azure Databricks přeloží nejdelší možný kvalifikovaný název.
Pokud je přeložený název nebo MAPSTRUCT Azure Databricks interpretuje zbývající identifikátory pomocí operátoru tečky.
Při použití se službou STRUCTAzure Databricks ověřuje existenci fieldIdentifier struktury při kompilaci příkazu.
Při použití s MAPa neexistuje žádný klíč, který odpovídá keyIdentifier, Azure Databricks vrátí hodnotu null.
NULL Místo toho použijte funkci try_element_at.
Upozorňující
Pokud , výsledek je false v případě, že pro objekt není NULLnalezen žádný odpovídající klíč.
Příklady
-- Names take precedence over the dot sign operator
> CREATE SCHEMA a;
> CREATE TABLE a.a(a struct<a INT, b STRING>);
> INSERT INTO a.a VALUES (named_struct('a', 5, 'b', 'Spark'));
-- Column `a` in table `a`
> SELECT a.a FROM a.a;
{"a":5,"b":"Spark"}
-- Field `b` in column `a`
> SELECT a.b FROM a.a;
Spark
-- Column `a` in table `a.a`
> SELECT a.a.a FROM a.a;
{"a":5,"b":"Spark"}
-- Field `a` in column `a` in table `a.a`
> SELECT a.a.a.a FROM a.a;
5
-- Resolving a map value:
> SELECT map('three', 3).three;
3
-- Resolving a map value using the [ ] notation:
> SELECT map('three', 3)['three']
3
-- Resolving a map value using back quotes:
> SELECT map('서울시', 'Seoul').`서울시`;
Seoul
-- Cannot resolve a non existing key
> SELECT map('three', 3).four;
NULL