将last_value函数从oracle迁移到postgres

时间:2019-07-04 13:29:48

标签: sql postgresql window-functions

我需要在窗口函数中替换Oracle IGNORE NULLS以用于PostgreSQL。

我正在使用Orafce Postgres扩展来替换某些Oracle本机功能。我意识到,last_value()函数也在PostgreSQL中实现(不是通过Orafce实现),但是它不接受参数'IGNORE NULLS'。这对于业务逻辑至关重要,由于我不太擅长SQL,所以我想问一下是否有任何解决方法?

这是我查询的一部分:

SELECT DISTINCT 
        last_value(EDIARY_PEF_MORNING ) 
        over (partition BY ediary_assessment_date, ediary_pat_id 
              order by normalize_time(EDIARY_ASSESSMENT_TIME_MORNING) nulls FIRST 
              range BETWEEN unbounded preceding AND unbounded following)
FROM DIARY;

我希望上面的查询不会返回任何空值。

0 个答案:

没有答案