select PAY_COMP_AMT,EMPLOYEE_HKEY,trunc(sysdate, 'YEAR') begin_year
, add_months(trunc(Active_To_Date, 'YEAR'), 12)-12/31/60/60 last_second_year
from table_name;
上面的查询给出了当前年份和去年的第二年。实际上,我想按年份显示行。
任何建议都会有所帮助!
答案 0 :(得分:0)
我想您只想显示日期列的年份部分。
因此,使用to_char(Active_To_Date,'yyyy')
,并使用add_months()
函数删除该部分,然后通过Employee
和Year
(例如sum
)实现汇总,您可以在单独的行上显示每年的数据:
select Employee_Hkey, to_char(Active_To_Date,'yyyy') as "Year",
sum(nvl(Pay_Comp_Amt,0)) as Pay_Comp_Amt
from table_name
group by to_char(Active_To_Date,'yyyy'),Employee_Hkey
order by "Year",Employee_Hkey;