Map(key, value)
Map(key, value) 可以存储 key:value 键值对类型的数据。
参数
key— 键值对的key,类型可以是:String, Integer, LowCardinality, 或者 FixedString.value— 键值对的value,类型可以是:String, Integer, Array, LowCardinality, 或者 FixedString.
使用 a['key'] 可以从 a Map('key', 'value') 类型的列中获取到对应的值,这是一个线性复杂度的查询。
示例
示例表:
查询 key2 的所有值:
查询结果:
如果在 Map() 类型的列中,查询的 key 值不存在,那么根据 value 的类型,查询结果将会是数字0,空字符串或者空数组。
查询结果:
将Tuple类型转换成Map类型
您可以使用 CAST 方法将 Tuple() 转换成 Map() :
Map.keys 和 Map.values 单独使用
为了更好使用 Map 类型,在一定的场景下,可以单独使用 keys 或者 values,而不需要将整个列的数据都读取出来。
示例
查询:
结果:
另请参阅