【发布时间】:2021-05-28 17:26:51
【问题描述】:
在下面的代码SDate ='10-04-2020' 中,格式为 DD-MM-YYYY,我只需要将月份和年份与给定的日期(MON-YYYY)进行比较
SELECT WR.EmpID AS EMPSID, SUM(WR.ESALARY) AS TOTAL_SALARY
FROM WEEKLY_REPORT WR
WHERE WR.EmpID = 'E009' AND TO_CHAR(WR.SDate,'MON-YYYY') = TO_CHAR('APR-2020','MON-YYYY')
GROUP BY WR.EmpID;
错误
ORA-01722: invalid number
【问题讨论】:
-
SDate的数据类型是什么?假设它是日期,您不应该在任何地方使用to_char()和to_date并格式化模型。相反,您应该将SDate与where子句中的固定日期(>= date '2020-04-01'和< date '2020-05-01')进行比较。