Sdílet prostřednictvím


Funkce try_cast

Platí pro:zaškrtnutí označeného ano Databricks SQL zaškrtnutí označeného ano Databricks Runtime 10.4 LTS a vyšší

Vrátí hodnotu sourceExpr, která je přetypována na targetType, pokud je přetypování podporováno; jinak vrátí hodnotu NULL, za předpokladu, že je podporováno přetypování z typu sourceExpr na targetType. Pokud nejsou zdrojové a cílové typy platnou kombinací pro přetypování, vrátí se DATATYPE_MISMATCH chyba. Informace o podporovaných kombinacích přetypování najdete v části Návraty .

Syntaxe

try_cast(sourceExpr AS targetType)

Argumenty

  • sourceExpr: Libovolný přetypovatelný výraz.
  • targetType: Typ výsledku.

Návraty

Výsledek je typu targetType.

Tato funkce je uvolněnější variantou cast funkce , která obsahuje podrobný popis.

try_cast liší se od cast funkce tím, že toleruje následující podmínky, pokud je podporováno přetypování z typu expr na type :

  • Pokud se sourceExpr hodnota nemůže vejít do domény výsledku targetType , není NULL to chyba přetečení.
  • sourceExpr Pokud hodnota není správně vytvořená nebo obsahuje neplatné znaky, výsledek je NULL místo chyby neplatných dat.

Výjimka z výše uvedených:

  • Přetypování do pole STRUCT s NOT NULL vlastností
  • Přetypování klávesy MAP

Příklady

> SELECT try_cast('10' AS INT);
 10

> SELECT try_cast('a' AS INT);
 NULL