我正在使用Oracle DB并尝试查找多年的日期差异.我用谷歌搜索,发现我可以使用DateDiff功能.当我使用此功能时:
select datediff(year, date_1, date_2) as Age_Diff
from employee
Run Code Online (Sandbox Code Playgroud)
我收到了一个错误
ORA-00904: "DATEDIFF": invalid identifier.
Run Code Online (Sandbox Code Playgroud)
请说明这有什么问题.
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
Run Code Online (Sandbox Code Playgroud)
如果你想忽略一年中任何一小部分
SELECT floor( months_between( date_1, date_2 )/12) floor_years_between
FROM employee
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7518 次 |
| 最近记录: |