SQL在最小和最大日期之间返回月份

时间:2016-11-08 22:21:12

标签: sql oracle max min

我有一份员工信息表,其中一个字段是雇用的。

我如何首先检索最年轻和最资深员工之间的月份,

然后取这个数字并将其四舍五入到最接近的整数(并将此字段命名为“Old Vs. Young”?

由于

1 个答案:

答案 0 :(得分:1)

Oracle有函数months_between()来计算月份的差异,而round()来自 - 你猜对了,它是圆的。下面的解决方案还告诉您如何" name"一栏(如何给它一个"别名" - 此操作的技术术语)。

使用标准SCOTT模式中的EMP表作为示例:

select min(hiredate) as min_date, max(hiredate) as max_hiredate,
       round( months_between( max(hiredate), min(hiredate) ) ) as diff_months
from   emp
;


MIN_HIREDATE  MAX_HIREDATE     DIFF_MONTHS
------------  ------------ ---------------
1980-12-17    1987-05-23                77