2014-11-05 78 views
0

有人可以帮我解决这个问题,我知道我必须使用sysdate。例如,我有实体雇员与ATRIBUTES Emp.ID和年龄。查找特定年龄段的出生年份sql

+1

没有他们的生日,你只能缩小它两年一个,右边这会不会是准确的? – 2014-11-05 02:32:21

+0

尝试'SELECT TO_CHAR(SYSDATE,'YYYY') - age FROM employee' – 2014-11-05 02:38:51

回答

1

如果我们为ADD_MONTHS提供一个负数,它会从给定日期减去多个月。将-12乘以-12给出我们需要从当前日期中减去的月数,以得出大概的生日。

SELECT Emp.ID 
     , TO_CHAR(
      ADD_MONTHS(sysdate, (Emp.Age*-12)) 
      , 'YYYY') as year_of_birth 
FROM employee Emp; 
0

为具体的月份是不知道

SELECT id, Name, TRUNC(sysdate - age*365) as DOB FROM Employee