You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Databricks SQL ISNULL语句空值替换为0的正确写法咨询

Azure Databricks SQL 空值替换语法修正

你当前使用的ISNULL()是TSQL专属语法,Azure Databricks SQL 不支持该函数,可通过以下两种等价方案实现左连接后空值转0的需求:

  • 方案1:适配TSQL使用习惯,仅替换函数名为IFNULL即可,参数逻辑和原ISNULL完全一致:
%sql
SELECT
   f.global_key AS glb_num
  ,f.global_name AS glb_name
  ,IFNULL(r.tm2016, 0) AS tm2016
  ,IFNULL(r.tm2017, 0) AS tm2017
  ,IFNULL(r.tm2018, 0) AS tm2018
FROM co_family AS f -- 企业架构表
LEFT JOIN main_revenue AS r -- 营收表
  ON f.global_key = r.global_key
  • 方案2:使用标准SQL通用的COALESCE函数,支持多参数按顺序判空,适配复杂场景:
%sql
SELECT
   f.global_key AS glb_num
  ,f.global_name AS glb_name
  ,COALESCE(r.tm2016, 0) AS tm2016
  ,COALESCE(r.tm2017, 0) AS tm2017
  ,COALESCE(r.tm2018, 0) AS tm2018
FROM co_family AS f -- 企业架构表
LEFT JOIN main_revenue AS r -- 营收表
  ON f.global_key = r.global_key

如果需要实现多优先级判空逻辑,可直接向COALESCE追加参数,示例:COALESCE(r.tm2018, r.tm2017, r.tm2016, 0) 代表优先取2018年营收,为空则依次取前两年,都为空返回0。

内容的提问来源于stack exchange,提问作者Chris Beredimas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 11:27:03