Как рассчитать годы опыта от date_of_hiring до даты в месяцах сотрудника, используя sql query
В Oracle, Вы можете использовать функцию MONTHS_BETWEEN с функциями TRUNC и MOD следующим образом:
MONTHS_BETWEEN
TRUNC
MOD
SQL> SELECT 2 TRUNC(TRUNC(MONTHS_BETWEEN(SYSDATE, DATE '2014-08-08')) / 12) YEARS, 3 MOD(TRUNC(MONTHS_BETWEEN(SYSDATE, DATE '2014-08-08')), 12) MONTHS, 4 TRUNC(MONTHS_BETWEEN(SYSDATE, DATE '2014-08-08')) TOTAL_MONTHS 5 FROM DUAL; YEARS MONTHS TOTAL_MONTHS ---------- ---------- ------------ 5 6 66 SQL>
Приветствия !!
Вы можете использовать MONTHS_BETWEEN , а затем разделить его на 12
SELECT (MONTHS_BETWEEN (TO_DATE('2020-01-01','YYYY-MM-DD'), TO_DATE('2010-01-01','YYYY-MM-DD'))/12) "Years" FROM DUAL\\