在Google BigQuery中替换气象数据0值为NULL时出错,如何修复?
修复SQL语法错误并替换0为NULL
你的SQL语句报错的核心原因是两个字段定义之间缺少逗号,这是SQL的基础语法要求。以下是两种修复方案:
方案1:修正原IF语句的语法
在第一个字段末尾添加逗号即可:
select if (wind_speed = 0, NULL, wind_speed) as wind_speed, if (visibility = 0, NULL, visibility) as visibility from weather_data
方案2:使用更简洁的NULLIF函数
BigQuery支持NULLIF函数,它可以直接实现"当字段值等于指定值时返回NULL,否则返回原字段值"的逻辑,代码更简洁:
select NULLIF(wind_speed, 0) as wind_speed, NULLIF(visibility, 0) as visibility from weather_data
内容的提问来源于stack exchange,提问作者user32747375
相关产品推荐
相关产品推荐

