错误消息:“INVALID_FUNCTION_ARGUMENT:Key not present in map”(函数参数无效:映射中无键)
解决方法:使用 ELEMENT_AT() 代替 [] 进行映射查找
例如,如果您的查询如下所示:
SELECT charge_id, metadata[‘customer’] FROM ( SELECT charge_id, map_agg(key, value) AS metadata FROM charges_metadata )
请将其更改为:
SELECT charge_id, ELEMENT_AT(metadata, 'customer') FROM ( SELECT charge_id, map_agg(key, value) AS metadata FROM charges_metadata )
自 2020 年 9 月 3 日起,Sigma 支持使用 Prestosql v334 SQL 语法的查询。根据此更改,如果映射中没有键,使用 [] 进行映射查找将会失败。因为 ELEMENT_AT() 恢复了之前的行为,如果缺少键便会返回 NULL。
您计划和保存的查询已相应更新。