如何使用case语句在T-SQL中进行日期比较(>或<)?

时间:2013-01-31 22:05:57

标签: sql-server tsql case

我在case语句中遇到大于运算符的错误。我在这里缺少什么?

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

1 个答案:

答案 0 :(得分:3)

语法应为:

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