2013-01-31 40 views
1

我在case語句中的大於運算符上出現錯誤。我在這裏錯過了什麼?如何使用case語句在T-SQL中進行日期比較(>或<)?

DECLARE @ODS_LOAN_MAXDATE DATE, @MAX_MAINTENANCE DATE, @MAX_TRANS DATE, @ODS_LOAN_Count int 

SELECT @MAX_MAINTENANCE = MAX(DATE_MAINTENANCE_LAST) FROM FISERV_ODS..LOAN_MASTER_FILE 
SELECT @MAX_TRANS = MAX(DATE_TRANS_LAST) FROM FISERV_ODS..LOAN_MASTER_FILE 

SELECT CASE @ODS_LOAN_MAXDATE 
    WHEN @MAX_MAINTENANCE > @MAX_TRANS 
     THEN @MAX_MAINTENANCE 
    ELSE @MAX_TRANS 
END 
FROM FISERV_ODS..LOAN_MASTER_FILE 

回答

3

的語法應爲:

SELECT CASE WHEN @MAX_MAINTENANCE > @MAX_TRANS 
     THEN @MAX_MAINTENANCE 
    ELSE @MAX_TRANS 
END