在 BigQuery 中正确使用 COALESCE()

Correct use of COALESCE() in BigQuery

我是运行以下脚本:

select COALESCE(test1,test2,test3)
from (select null as test1,'' as test2,'fdsda' as test3)

并收到以下错误:

No matching signature for function COALESCE for argument types: INT64, STRING, STRING. Supported signature: COALESCE([ANY, ...]) at [1:8]

知道这个错误的原因吗?

使用COALESCE时,您必须提供相同类型的参数。 例如,如果第一个参数是 STRING,那么其他参数也应该是 STRING。 在您的情况下,您尝试提供一个 INTEGER 作为第一个参数,并为其他参数提供 STRING。

希望对您有所帮助

使用

select COALESCE(test1,test2,test3) from (select cast(null as string) as test1,'' as test2,'fdsda' as test3)

无论如何,我同意 rmesteves - 合并中的不同类型没有意义。