oracle - 比较案例陈述中的日期
问题描述
我无法比较案例陈述中的日期
ORA-00932:不一致的数据类型:预期的 CHAR 得到 DATE 00932。00000 -“不一致的数据类型:预期的 %s 得到 %s”*原因:
*操作:
enter code here
在这里,当它小于 PROJECT_START_DATE 时,我想用 PROJECT_START_DATE 替换START_DATE_ACTIVE。
(
CASE WHEN TO_DATE(PPP.START_DATE_ACTIVE,'DD/MM/YY') <
TO_DATE(TO_CHAR(TO_DATE(PPA.PROJECT_START_DATE,'yyyy/mm/dd'),'DD-MM-
YY'),'DD/MM/YY')
THEN PPA.PROJECT_START_DATE
ELSE PPP.START_DATE_ACTIVE
END
) START_DATE_ACTIVE
预期结果
解决方案
如果您的日期实际上存储在日期字段中,则不必将它们转换为字符,您可以将它们作为日期进行测试。
(
CASE WHEN PPP.START_DATE_ACTIVE < PPA.PROJECT_START_DATE
THEN PPA.PROJECT_START_DATE
ELSE PPP.START_DATE_ACTIVE
END
) START_DATE_ACTIVE