2014-09-23 48 views
0
SELECT 
    DateTo,(((((DATE_PART('Year',DateTo))-(DATE_PART('Year',DateFrom)))*12)+(DATE_PART('Month',DateTo))-(DATE_PART('Month',DateFrom)))+1) AS NoOfMonth 
FROM HT_LoanSusp 

此查詢在postgres中工作,但不在oracle中。這是由於date_part函數不支持在oracle中。此查詢在postgres中有效,但不在oracle中

所以我需要一個可以在oracle和postgres中工作的函數。

回答

1

使用EXTRACT功能存在於兩個數據庫:

然後將查詢:

SELECT 
    DateTo,(((((EXTRACT(YEAR FROM Ht_LoanSusp.DateTo))-(EXTRACT(YEAR FROM Ht_LoanSusp.DateFrom)))*12)+ 
    (EXTRACT(MONTH FROM Ht_LoanSusp.DateTo))-(EXTRACT(MONTH FROM Ht_LoanSusp.DateFrom)))+1) AS NoOfMonth 
FROM HT_LoanSusp 
+0

它works.Thank你 – Thush 2014-09-23 09:29:14