Patterson Asked: 2024-04-22 19:13:37 +0800 CST2024-04-22 19:13:37 +0800 CST 2024-04-22 19:13:37 +0800 CST Databricks 错误 AnalysisException:函数的参数数量无效为 null。预期:1;发现:2; 772 我正在将 T-SQL 代码重构为 Databricks SQL 我遇到了 isnull 函数的问题。 我收到以下错误 Invalid number of arguments for function isnull. Expected: 1; Found: 2; 代码如下: ISNULL(SIB.Consideration * ST.Ledger, ST.AmountLocal)) AS Amount 关于我在上面的 ISNULL 函数中犯了错误的任何想法。 1 个回答 Voted Best Answer Anupam Chand 2024-04-22T20:54:51+08:002024-04-22T20:54:51+08:00 如果您查看 Databricks ISNULL文档,您会发现它只需要一个参数。 您需要的是IFNULL函数。就您而言,我假设您希望获得 SIB.Consideration * ST.Ledger 的响应,如果该值为 NULL,则使用 ST.AmountLocal 进行响应。在这种情况下,您的 Databricks SQL 将如下所示。 ifnull(SIB.Consideration * ST.Ledger,ST.AmountLocal) AS Amount
如果您查看 Databricks ISNULL文档,您会发现它只需要一个参数。
您需要的是IFNULL函数。就您而言,我假设您希望获得 SIB.Consideration * ST.Ledger 的响应,如果该值为 NULL,则使用 ST.AmountLocal 进行响应。在这种情况下,您的 Databricks SQL 将如下所示。