我正在运行以下脚本:
select COALESCE(test1,test2,test3)
from (select null as test1,'' as test2,'fdsda' as test3)
并收到以下错误:
对于参数类型:INT64,STRING,STRING。支持的签名:COALESCE([ANY,...])在[1:8]
是否知道此错误的原因?
使用COALESCE
时,必须提供相同类型的参数。例如,如果第一个参数是STRING,则其他参数也应该是STRING。在您的情况下,您尝试提供一个INTEGER作为第一个参数,并为其他参数提供STRINGs。
希望有帮助
使用
select COALESCE(test1,test2,test3) from (select cast(null as string) as test1,'' as test2,'fdsda' as test3)
无论如何,我同意rmesteves-合并中的不同类型没有意义。