2016-11-08 9 views
-3

従業員情報のテーブルがあり、フィールドの1つが採用されています。このフィールド「ヤング対旧」最も近い整数(と名前にこの番号とラウンドそれを取るどのように私は最初、最年少と最も先輩社員との間に数ヶ月を取得するか、SQLの月と月の間の返信日

おかげ

+0

最初(http://stackoverflow.com/help/how-to-ask)[質問をする方法]をお読みください。 –

+0

Oracleなどのリレーショナルデータベースで作業する場合は、「フィールド」ではなく「列」と言う言葉を学んでください。あなたのコラムにスペースとドットを付けるような名前をつける習慣を持たないでください。 'old_vs_new'はあなたが選んだカラム名よりはるかに良いカラム名です。 – mathguy

答えて

1

Oracleは、数ヶ月の違いを計算する機能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 
関連する問題