Snowflake中使用Lateral Flatten解析JSON返回NULL问题排查
问题排查与解决
核心原因:JSON路径错误
你要展开的Assignment数组并非在src的根层级,而是嵌套在MyData对象内部。原查询中lateral flatten(input => src:Assignment)直接从根节点查找Assignment,这个路径不存在,导致flatten后无有效数据,最终返回NULL。
修正后的查询语句
select value:AssignentId::string as "1ProductName" from car_sales, lateral flatten(input => src:MyData:Assignment);
额外提示
- 你的JSON存在一处语法冗余:
Assignment数组内最后一个对象末尾多了逗号("AssignentDescription": "usa",),虽然Snowflake的parse_json可以兼容,但建议移除多余逗号,保证JSON语法规范。 - 检查字段拼写:
AssignentId疑似AssignmentId的笔误(缺少字母m),如果是拼写错误,需同步修正JSON和查询中的字段名,否则仍可能出现取值NULL的情况。
内容的提问来源于stack exchange,提问作者LKOMason
相关产品推荐
相关产品推荐

