ORACLE APEX-ORA 01722 Invalid Number ERROR
ORACLE APEX-ORA 01722 Invalid Number ERROR
我不明白为什么会出现这个错误。\n
选择 to_char(view_date, 'Month') 月份, COUNT(*) AS countx 从 AXY_TABLE 分组 to_char(view_date,'Month') 排序 to_char(view_date, 'Month'), COUNT(*) desc;
\n当我在交互式报告中执行这个查询时,它会抛出ORA-01722错误。这个查询不仅在SQL开发人员中正确运行,而且作为经典报告也正确运行。当我将类型更改为交互式报告时,它再次抛出相同的错误。\n我该怎么办?\n非常感谢。
问题的原因是ORDER BY子句中的聚合函数导致的。解决方法是移除ORDER BY子句中的聚合函数。
SELECT to_char(view_date, 'Month') MONAT , COUNT(*) AS countx FROM AXY_TABLE GROUP BY to_char(view_date,'Month') ORDER BY to_char(view_date, 'Month');
在这个例子中,ORDER BY子句按照第二列的位置进行排序。然而,由于结果集中每个月份只有一行数据,所以只需要按照月份进行排序即可。将ORDER BY子句修改为只按照月份排序即可解决问题。
我已经完全移除了ORDER BY子句,但仍然出现相同的错误。当我在第二个交互式报表中使用这段代码时,出现了这个问题。第一个报表运行正确,但第二个报表失败了。我不知道为什么会出现这个问题。
很遗憾,根据对代码功能的简要描述,很难进行调试。