gpt4 book ai didi

google-bigquery - BigQuery 相当于 COALESCE()?

转载 作者:行者123 更新时间:2023-12-04 10:07:11 27 4
gpt4 key购买 nike

我正在将一些聚合查询从 Postgres 转换为我们在 BigQuery 中的新架构。 BigQuery 中是否有 COALESCE() 等价物?

目前,我正在转换 Postgres 查询语句,如

coalesce(column1,'DEFAULT')


CASE
WHEN column1 IS NOT NULL
THEN column1
ELSE 'DEFAULT'
END AS column1

这似乎很容易。

但是,使用嵌套的合并语句转换 Postgres 查询语句,例如
 count(distinct coalesce(
coalesce(
coalesce(column1,column2),
column3),
column4)))

如果我使用 CASE 会变得更乱到处都是声明,而且似乎是错误的做法。

BigQuery 是否有与 COALESCE() 等效的方法? ,或者我一直在写整个 CASE声明等价?

最佳答案

您可以在 BigQuery 中使用 IFNULL 函数,它可以像这样嵌套:

select ifnull(column1,
ifnull(column2,'DEFAULT'))
from
(select string(NULL) as column1, 'y' as column2)

附言但是在 BigQuery 中省略 COALESCE 是一个疏忽,我会修复它。

更新:自 2015 年 4 月 16 日起,BigQuery 中可以使用 COALESCE。
https://cloud.google.com/bigquery/docs/reference/standard-sql/functions-and-operators#conditional_expressions

关于google-bigquery - BigQuery 相当于 COALESCE()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29443450/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com