我正在使用Oracle DB并尝试查找多年的日期差异。
我用Google搜索并发现我可以使用DateDiff
函数。
当我使用这个功能时:
select datediff(year, date_1, date_2) as Age_Diff
from employee
我收到错误
ORA-00904: "DATEDIFF": invalid identifier.
请说明这有什么问题。
答案 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