SQL:
SELECT count(TRANSFER_REQUEST_ID) count
FROM XXSTT_TRANSFER_REQUESTS
WHERE (OVERALL_STATUS = 'Approved' AND LAST_UPDATE_DATE < CASE
WHEN #{date} <= DATE '2017-09-10'
THEN #{date}
ELSE DATE '2017-09-10')
OR (CREATION_DATE > DATE '2017-09-10' AND
OVERALL_STATUS = 'Completed' AND
LAST_UPDATE_DATE < #{date})
ORDER BY CREATION_DATE DESC;
当我运行此sql时,错误将出现消息
ORA-00905:缺少关键字
我的选择条件就是如果LAST_UPDATE_DATE大于'2017-09-10'则使用此日期,否则使用输入日期
答案 0 :(得分:0)
SELECT count(TRANSFER_REQUEST_ID) count
FROM XXSTT_TRANSFER_REQUESTS
WHERE ( OVERALL_STATUS = 'Approved'
AND LAST_UPDATE_DATE < CASE
WHEN #{date} <= DATE '2017-09-10'
THEN #{date}
ELSE DATE '2017-09-10'
END -- This is missing
)
OR ( CREATION_DATE > DATE '2017-09-10'
AND OVERALL_STATUS = 'Completed'
AND LAST_UPDATE_DATE < #{date}
)
ORDER BY CREATION_DATE DESC;