2016-11-08 61 views
-3

我有一張員工信息表,其中一個字段是僱用的。SQL在最短和最長日期之間返回月份

如何首先,檢索最年輕和最年長員工之間的幾個月裏,

然後拿這個數字並四捨五入到最接近的整數(和名稱這一領域的「老比。年輕」?

感謝

+0

請閱讀[如何詢問問題](http://stackoverflow.com/help/how-to-ask)在前。 –

+0

如果您要使用像Oracle這樣的關係數據庫,學會說「column」而不是「field」;並且不要養成給你的專欄提供空格和點名的習慣。 'old_vs_new'是一個比你選擇的列名好得多的列名。 – mathguy

回答

1

甲骨文具有的功能months_between()計算在幾個月的差異,round() - 嘿,你猜對了,輪下面的解決方案顯示你還怎麼「名稱」一欄(如何給它一個。 「別名」 - 這個操作的技術術語)

使用在標準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 
相關問題