oracle DB中的日期日期差异年数

时间:2012-10-11 18:22:06

标签: oracle10g

我正在使用Oracle DB并尝试查找多年的日期差异。 我用Google搜索并发现我可以使用DateDiff函数。 当我使用这个功能时:

select datediff(year, date_1, date_2) as Age_Diff 
 from employee

我收到错误

ORA-00904: "DATEDIFF": invalid identifier.

请说明这有什么问题。

1 个答案:

答案 0 :(得分:5)

DATEDIFF不是Oracle中存在的函数。

对于您来说,多年来两个日期之间的差异究竟是什么意思?例如,如果您获得2010-04-01和2012-01-01的日期,那么预期的产出是多少?差异是1年9个月,那么是1.75?或者我们应该计算这9个月中的天数与一年中的天数之间的差异,并将答案除以得出略微不同于1.75的天数?

我的第一个猜测是你想要

SELECT months_between( date_1, date_2 )/12 years_between
  FROM employee

如果你想忽略一年中任何一小部分

SELECT floor( months_between( date_1, date_2 )/12) floor_years_between
  FROM employee