比较两个日期列并使用Oracle SQL添加派生列

时间:2015-03-31 10:06:52

标签: sql oracle

我的表结构是这样的:

ID,
country,
month,
year,
total amt in previous period,
total amt during period,
incr/decr in total amt in previous period,
incr/decr in total amt during (month, year)

ID中提供了monthyeartotal amtabc字段。 incr/decr in total amt in previous periodtotal amt in previous periodtotal amt during period列之间的差异。

我写了这个查询:

select m.id, m.month, m.year, m.total_amt 
from abc m    
order by year, month desc;

对于total amt in previous period我无法使用Between Date( ) And DateAdd("M", -1, Date( ));,因为我没有日期,只有年和月。

如何将两列与yearmonth列进行比较以及如何使用子查询获得最后两个派生列?

1 个答案:

答案 0 :(得分:1)

为了比较Month,有一个特定的功能(适用于MS SQL和ORACLE)。几天和几年也有一个功能。请参阅以下链接:

YEAR

MONTH

DAY

这个示例以及从子查询获取派生列可以在论坛中讨论过的这个主题中找到:

Stackoverflow topic