gpt4 book ai didi

sql - Pivot 命令在多参数 CLR 聚合函数上失败...想法为什么?

转载 作者:行者123 更新时间:2023-12-02 03:33:21 26 4
gpt4 key购买 nike

我在 CLR 中编写了几个 AGGREGATE 函数

abj.median

abj.percentile

一个有点有趣的问题。这些函数在结构上非常相似,只是计算结果的方式略有不同ANDPERCENTILE需要2个参数,而median只有1个。

这两个函数的共同参数是字段名称。百分位数函数还带有一个值来确定是哪个百分位数(10、75、90 等......)

这个命令工作正常......

;
WITH p1 AS (

SELECT WAITTIMES_DAY / 7.0 AS waitWeeks,

abj.fyq(surg_sx_date) as fiscalYear,

SURG_SITE_ZONE

FROM dbo.Surgery
)

SELECT *

FROM p1 p

PIVOT (abj.median(waitweeks)

FOR fiscalYear IN ( [2013/14-Q1], [2013/14-Q2], [2013/14-Q3], [2013/14-Q4] )) b
<小时/>

此命令失败,并出现INCORRECT SYNTAX NEAR '90'。需要“.”、ID 或 QUOTED_ID。

;
WITH p1 AS (

SELECT WAITTIMES_DAY / 7.0 AS waitWeeks,

abj.fyq(surg_sx_date) as fiscalYear,

SURG_SITE_ZONE

FROM dbo.Surgery
)
SELECT *

FROM p1 p

PIVOT (abj.percentile(waitweeks,90)

FOR fiscalYear IN ( [2013/14-Q1], [2013/14-Q2], [2013/14-Q3], [2013/14-Q4] )) b
<小时/>

以前有人遇到过这种奇怪的情况吗?他们是如何解决的(除了分解并编写仅使用一个参数的 PERCENTILE 函数,并将第二个参数更改为默认值 90)

谢谢

斯文

最佳答案

当您使用CLR函数时,您按原样使用它们。如果函数 abj.median 被编写为仅使用一个参数。它将像这样工作,并且只能这样工作。如果您希望中位数能够使用 2 个参数,您需要要求该函数的开发人员为您重写它。

关于sql - Pivot 命令在多参数 CLR 聚合函数上失败...想法为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22055156/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com