try_cast fungsi

Berlaku untuk:centang ditandai ya Databricks SQL centang ditandai ya Databricks Runtime 10.4 LTS ke atas

Mengembalikan nilai sourceExpr mentransmisikan ke jenis targetType jika memungkinkan, atau NULL jika tidak memungkinkan.

Sintaks

try_cast(sourceExpr AS targetType)

Argumen

  • sourceExpr: Ekspresi apa pun yang dapat ditransmisikan.
  • targetType: Jenis hasil.

Mengembalikan

Hasilnya adalah jenis targetType.

Fungsi ini adalah varian yang lebih santai dari fungsi cast yang menyertakan deskripsi mendetail.

try_cast berbeda dari fungsi cast dengan menoleransi kondisi berikut selama cast dari jenis expr hingga type didukung:

  • Jika nilai sourceExpr tidak dapat masuk ke dalam domain targetType, hasilnya adalah NULL bukan kesalahan luapan.
  • Jika nilai sourceExpr tidak terbentuk dengan baik atau berisi karakter yang tidak valid, hasilnya adalah NULL, bukan kesalahan data yang tidak valid.

Pengecualian untuk hal di atas adalah:

  • Transmisi ke bidang STRUCT dengan properti NOT NULL.
  • Transmisi kunci MAP.

Contoh

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

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