我正在将一些聚合查询从Postgres转换为BigQuery中的新架构 . BigQuery中是否有等效的COALESCE()?
目前,我正在转换Postgres查询语句,如
coalesce(column1,'DEFAULT')
至
CASE
WHEN column1 IS NOT NULL
THEN column1
ELSE 'DEFAULT'
END AS column1
这似乎很容易 .
但是,使用嵌套的coalesce语句转换Postgres查询语句
count(distinct coalesce(
coalesce(
coalesce(column1,column2),
column3),
column4)))
如果我在整个地方使用 CASE
语句会变得更加混乱,而且看起来也错了 .
BigQuery有一个与 COALESCE()
等效的方法,还是我写了整个 CASE
语句等效?
1 回答
你可以在BigQuery中使用IFNULL函数,它可以像这样嵌套:
附:但是在BigQuery中省略COALESCE是一种疏忽,我会修复它 .
Update: 截至2015年4月16日,COALESCE可在BigQuery中使用 .