decode fungsi (utama)

Berlaku untuk:centang ditandai ya Databricks SQL centang ditandai ya Databricks Runtime

Mengembalikan nilai yang cocok dengan kunci. decode expr membandingkan dengan masing-masing keyN secara berurutan dan mengembalikan yang sesuai untuk kecocokan valueN pertama (seperti pencarian atau sakelar nilai kunci). Jika tidak ada kunci yang cocok, kunci akan kembali defValue saat disediakan, jika tidak NULL.

Sintaks

decode(expr, { key1, value1 } [, ...] [, defValue])

Argumen

  • expr: Ekspresi dari jenis yang serupa.
  • keyN: Ekspresi yang cocok dengan jenis expr.
  • valueN: Ekspresi yang berbagi jenis umum terkecil dengan dan elemen defValue lainnya.
  • defValue: Ekspresi opsional yang berbagi jenis yang paling tidak umum dengan valueN.

Pengembalian

Hasilnya adalah jenis yang paling tidak umum dari valueN dan defValue.

Fungsi mengembalikan valueN yang pertama, di mana keyN cocok dengan expr. Fungsi ini NULL cocok dengan NULL. Jika tidak ada keyN yang cocok expr, defValue dikembalikan jika ada. Jika tidak ditentukan defValue , hasilnya adalah NULL.

Contoh

-- Compare expr (5) to keys in order: 6? No. 5? Yes. Return the value for 5, which is 'SQL'.
> SELECT decode(5, 6, 'Spark', 5, 'SQL', 4, 'rocks');
 SQL

-- NULL matches NULL in decode. expr is NULL; the second key is NULL, so that pair matches. Return 'SQL'.
> SELECT decode(NULL, 6, 'Spark', NULL, 'SQL', 4, 'rocks');
 SQL

-- No key matches 7 (not 6, not 5). No fourth key-value pair, so defValue 'rocks' is returned.
> SELECT decode(7, 6, 'Spark', 5, 'SQL', 'rocks');
 rocks