如何在sql中获取当前年度和当前年份

时间:2015-02-17 09:41:49

标签: sql

假设我的日期范围是最新的:2015年1月1日至2015年2月17日。

我还需要2014年1月1日至2014年2月17日的数据。

如何在sql中编写查询?

我想获得这些CYD和pYD的数据。

2 个答案:

答案 0 :(得分:0)

以下是Oracle中的一个示例:

select sysdate - interval '1' year from dual;

关键词' interval'也存在于其他SQL语言中,如postgres。

答案 1 :(得分:0)

要从日历表中选择日期范围,我可能会在标准SQL中写这个。

select cal_date from calendar
where cal_date between date '2015-01-01' 
                   and current_date
   or cal_date between date '2015-01-01' - interval '1' year 
                   and current_date - interval '1' year
order by cal_date;

如果我想识别每个范围内的行,我会添加文字值。

select 'cyd', cal_date
from calendar
where cal_date between date '2015-01-01' 
                   and current_date
union all
select 'pyd', cal_date 
from calendar
where cal_date between date '2015-01-01' - interval '1' year 
                   and current_date - interval '1' year
order by cal_date;