Oracle SQL根据日期显示不同的列

时间:2015-05-12 04:26:22

标签: oracle

我有一个包含33列的表

Employee     Month    Day1    Day2 ...... etc. etc.

日期列代表该月的某一天。

是否可以根据今天的日期显示员工列和月中的某一天?

5月12日

员工第12天

如果有可能的话,不知道从哪里开始。任何帮助都会很棒

1 个答案:

答案 0 :(得分:0)

使用WHERE子句获得记录(此处为:月份)。您可以使用DECODE或CASE获得某个列(此处为:日期)。

select 
  employee, 
  decode( extract(day from sysdate), 1, day1, 2, day2, 3, day3, ... ) as day
from mytable t
where t.month = extract(month from sysdate)
group by employee
order by employee;