Aracılığıyla paylaş


decode (anahtar) işlevi

Şunlar için geçerlidir:onay işareti evet olarak işaretlenmiş Databricks SQL onay işareti evet olarak işaretlenmiş Databricks Runtime

Anahtarla eşleşen değeri döndürür. decodeher keyN biriyle sırasıyla karşılaştırır expr ve ilk eşleşmeye karşılık gelen valueN değeri döndürür (anahtar-değer araması veya anahtar gibi). Hiçbir anahtar eşleşmezse, sağlandığında döndürür defValue , aksi takdirde NULL.

Söz dizimi

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

Tartışmalar

  • expr: Karşılaştırılabilir türde herhangi bir ifade.
  • keyN: türüyle expr ile eşleşen bir ifade.
  • valueN: ve diğer defValue lerle en az ortak türü paylaşan bir ifade.
  • defValue: ile en az ortak türü paylaşan isteğe bağlı bir ifade .

İadeler

Sonuç, ve valueN ile en az yaygın türdedir.

İşlev, valueNkeyN ile eşleştiğinde ilk expr'yi döndürür. Bu işlev NULL'yi NULL ile eşleştirir. Eşleşen keyN yoksa, expr varsa döndürülür. Belirtilmemişse defValue sonuç olur NULL.

Örnekler

-- 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