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