获取两个日期之间的月数sql

时间:2016-11-08 15:24:20

标签: sql oracle

我有一个包含id, last_name, date_hired列的表格 我需要找出自date_hired和今天以来的月数。我无法弄清楚如何在Months_Between函数中使用date_hired。这是我到目前为止所做的:

SELECT LAST_NAME AS Name, 
       MONTHS_BETWEEN(
         TO_DATE(DATE_HIRED,'MM-DD-YYYY'),
         TO_DATE('01-01-1995','MM-DD-YYYY')) "Months"
  FROM EMPLOYEES;

我搜索过这个问题,但其他问题都没有使用其他专栏的数据。

1 个答案:

答案 0 :(得分:1)

如果DATE_HIREDDATE数据类型,请使用

SELECT LAST_NAME AS Name, 
   MONTHS_BETWEEN(DATE_HIRED, SYSDATE) "Months"
  FROM EMPLOYEES;

如果是CHAR数据类型(或派生),请使用

SELECT LAST_NAME AS Name, 
   MONTHS_BETWEEN(TO_DATE(DATE_HIRED,'MM-DD-YYYY'), SYSDATE) "Months"
  FROM EMPLOYEES;

格式'MM-DD-YYYY'取决于存储的日期字符串格式。