MONTHS_BETWEEN
是 Oracle 數據庫中的一個內置函數,用于計算兩個日期之間相隔的月份數
以下是如何正確使用 MONTHS_BETWEEN
函數的示例:
SELECT MONTHS_BETWEEN(date1, date2) FROM your_table;
其中,date1
和 date2
是你要比較的兩個日期。這兩個參數可以是日期類型的列名、字符串或日期常量。
例如,假設你有一個包含員工入職日期(hire_date
)和離職日期(termination_date
)的表(employees
),你想計算每個員工在公司的工作月份數。你可以使用以下查詢:
SELECT employee_id, MONTHS_BETWEEN(termination_date, hire_date) AS months_worked
FROM employees;
這將返回每個員工的 ID 和他們在公司工作的月份數。
請注意,MONTHS_BETWEEN
函數會根據兩個日期之間的實際月份數進行計算,而不是簡單地計算它們之間的月份差。因此,如果兩個日期跨越了不同的年份,該函數會自動考慮這一點。
例如,MONTHS_BETWEEN('2022-01-01', '2021-12-31')
的結果是 0.997…,而不是 1。這是因為兩個日期之間只有大約 31 天,而不是整整一個月。