在 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 - 合并中的不同类型没有意义。
我是运行以下脚本:
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 - 合并中的不同类型没有意义。