红移中的 PERCENTILE_CONT()

tv1*_*902 0 sql function typecasting-operator amazon-redshift

我正在触发一个使用 PERCENTILE_CONT() 函数的查询,如下所示:

select .....
       PERCENTILE_CONT(0.90) within group (order by END_DATE-START_DATE)
from ....
where .....
;
Run Code Online (Sandbox Code Playgroud)

现在,当我从 Oracle DB 中的 SQLDeveloper 触发该查询时,该查询完全可以正常工作,但由于某种原因,我需要使用 RedShift 数据库,当我在其中触发上述查询时,它会抛出如下错误:

ERROR: function percentile_cont(interval, numeric) does not exist
  Hint: No function matches the given name and argument types. You may need to add explicit type casts.`
Run Code Online (Sandbox Code Playgroud)

正如建议的那样,我尝试使用类型转换为 DECIMAL 和 INTEGER 类型,但出现了相同的错误。

我搜索了文档,但也无法从那里找到解决方案。有什么想法吗,为什么?

PS:无法放置标签 PERCENTILE_CONT,因为它的声誉较低。

Gor*_*off 8

这有效吗?

   PERCENTILE_CONT(0.90) within group (order by datediff(day, START_DATE, END_DATE)
Run Code Online (Sandbox Code Playgroud)

我猜问题是日期差异。