MAP
Türü
Şunun için geçerlidir: Databricks SQL denetimi yes Databricks Runtime
Bir anahtar-değer çifti kümesinden oluşan değerleri temsil eder.
Sözdizimi
MAP <keyType, valueType>
keyType
: Anahtarları belirten MAP dışında herhangi bir veri türü.valueType
: Değerleri belirten herhangi bir veri türü.
Sınır -ları
Eşleme türü, 0'a eşit veya daha büyük herhangi bir kardinalitenin eşlemelerini destekler.
Anahtarlar benzersiz olmalı ve NULL olmamalıdır.
MAP
karşılaştırılabilir bir veri türü değildir.
Hazır
Değişmez değer eşleme değerlerinin nasıl üretildiğine ilişkin ayrıntılar için bkz. harita işlevi.
Anahtara göre eşlemeden değerleri alma hakkında ayrıntılı bilgi için bkz . [ ] işleci .
Örnekler
> SELECT map('red', 1, 'green', 2);
{red->1, green->2}
> SELECT typeof(CAST(NULL AS MAP<TIMESTAMP, INT>));
MAP<TIMESTAMP, INT>
> SELECT map(array(1, 2), map('green', 5));
{[1, 2]->{green->5}}
> SELECT CAST(map(struct('Hello', 'World'), 'Greeting') AS MAP<STRUCT<w1:string, w2:string>, string>);
{{Hello, World}->Greeting}
> SELECT m['red'] FROM VALUES(map('red', 1, 'green', 2)) AS T(m);
1
> SELECT map('red', 1) = map('red', 1);
Error: EqualTo does not support ordering on type map<string,int>