当我第一次运行以下功能时,以下错误将失败:
8124(在包含外部引用的聚合表达式中指定了多列。)
第二次运行它会正常运行。
如果我删除fit(..., strata=['dummy'])
,没问题。
*DATEDIFF(D, e.FRADATO , @til)
此功能可以在SQL Server 2008 R2和SQL Server 2016中正常使用。
答案 0 :(得分:3)
SQL Server 2019仍处于CTP中,这是一项新功能。如果发现错误,则应将其报告给Microsoft,以便在发布(done for you here)之前将其修复。
在以前的版本中,如果尝试手动内联它,则会看到相同的错误(如下面的缩减示例所示)。这是由于discussed here的局限性。
WITH T(m_id,fra, til) AS
(
SELECT 1, GETDATE(), GETDATE()
)
SELECT *
FROM T
CROSS APPLY
(SELECT
SUM(DATEDIFF(D, e.FRADATO, til))
FROM
dbo.mlr_eos_avl e
) CA(result)
在此内联大小写被Microsoft修复之前,您可以使用
WITH INLINE = OFF
标量UDF定义中的禁用UDF的内联