SQL语句中的错误:AnalysisException: Invalid number of arguments for



以下SQL代码在SQL 2019上执行没有任何问题,但是当在Databricks上运行代码时,我得到错误:

Error in SQL statement: AnalysisException: Invalid number of arguments for function isnull. Expected: 1; Found: 2;
;WITH CTE1 AS
(
SELECT *,ROW_NUMBER()OVER(ORDER BY ts_primarysecondaryfocus)RowNum FROM dataverse.account_hv
),CTE2 AS
(
SELECT *,ROW_NUMBER()OVER(ORDER BY ts_primarysecondaryfocus)RowNum FROM dataverse.OptionsetMetadata_hv
)
SELECT C1.Id,C1.SinkCreatedOn,C1.SinkModifiedOn,C1.statecode,C1.statuscode
,CASE WHEN C1.ts_primarysecondaryfocus<>ISNULL(C2.ts_primarysecondaryfocus,'')THEN C2.ts_primarysecondaryfocus ELSE C1.ts_primarysecondaryfocus END AS ts_primarysecondaryfocus
,C1.customertypecode,C1.address1_addresstypecode,C1.accountclassificationcode,C1.ts_easeofworking 
,CASE WHEN C1.ts_ukrow<>ISNULL(C2.ts_ukrow,'')THEN C2.ts_ukrow ELSE C1.ts_ukrow END AS ts_ukrow 
,C1.preferredappointmenttimecode,C1.xpd_relationshipstatus,C1.ts_relationship
FROM CTE1 C1 LEFT JOIN CTE2 C2 ON C1.RowNum = C2.RowNum

关于为什么我不会在SQL 2019上引起ISNULL的任何问题,但我得到Databricks上的错误,有什么想法吗?

Spark中的COALESCE函数的行为就像您期望的那样。使用它来代替ISNULL(它接受一个参数并返回参数是否为null)。

相关内容

最新更新