我正在将PostgreSQL的结构迁移到Oracle 12c,但是我发现在将Generate_series函数转换为oracle时遇到困难。有什么解决办法吗?
我在Postgresql中使用了下面提供的代码。
SELECT (my_day - elapsed_my_day)
INTO return_v
FROM (select count(1) elapsed_my_day from
generate_series(trunc(fromdate), trunc(todate) - 1, '1 day' interval) i;
Oracle中generate_series()
函数的正确语法是什么。
答案 0 :(得分:2)
您似乎正在计算两个日期之间的天数,然后从另一天中减去该偏移量。您无需生成序列并对其进行计数;只是从日期中减去。您甚至不需要使用SQL
查询,它可以完全用PL / SQL编写:
BEGIN
return_v := m_day - ( TRUNC( to_date ) - 1 - TRUNC( from_date ) );
END;