try_cast fungsi

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

Mengembalikan nilai sourceExpr yang dikonversi ke targetType jika konversi tersebut didukung; jika tidak, mengembalikan NULL, dengan ketentuan bahwa konversi dari tipe sourceExpr ke targetType didukung. Jika jenis sumber dan target bukan kombinasi cast yang valid, kesalahan DATATYPE_MISMATCH akan ditampilkan. Lihat Pengembalian untuk kombinasi pemeran yang didukung.

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 cast fungsi yang lebih santai yang mencakup deskripsi terperinci.

Perbedaan try_cast dari fungsi cast adalah dengan mentoleransi kondisi berikut selama pemindahan jenis dari expr ke 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